diff --git a/packages/aila/package.json b/packages/aila/package.json index 020372e30..a64224bb0 100644 --- a/packages/aila/package.json +++ b/packages/aila/package.json @@ -30,6 +30,7 @@ "@oakai/db": "*", "@oakai/exports": "*", "@oakai/logger": "*", + "@oakai/rag": "*", "@sentry/nextjs": "^8.35.0", "@vercel/kv": "^0.2.2", "ai": "^3.3.26", diff --git a/packages/aila/src/core/prompt/builders/AilaLessonPromptBuilder.ts b/packages/aila/src/core/prompt/builders/AilaLessonPromptBuilder.ts index 8c05b8bb3..08ba52882 100644 --- a/packages/aila/src/core/prompt/builders/AilaLessonPromptBuilder.ts +++ b/packages/aila/src/core/prompt/builders/AilaLessonPromptBuilder.ts @@ -1,7 +1,9 @@ +import { posthogAiBetaServerClient } from "@oakai/core/src/analytics/posthogAiBetaServerClient"; import type { TemplateProps } from "@oakai/core/src/prompts/lesson-assistant"; import { template } from "@oakai/core/src/prompts/lesson-assistant"; import { prisma as globalPrisma } from "@oakai/db/client"; import { aiLogger } from "@oakai/logger"; +import { getRelevantLessonPlans } from "@oakai/rag"; import { DEFAULT_RAG_LESSON_PLANS } from "../../../constants"; import { tryWithErrorReporting } from "../../../helpers/errorReporting"; @@ -12,6 +14,8 @@ import { compressedLessonPlanForRag } from "../../../utils/lessonPlan/compressed import { fetchLessonPlan } from "../../../utils/lessonPlan/fetchLessonPlan"; import type { RagLessonPlan } from "../../../utils/rag/fetchRagContent"; import { fetchRagContent } from "../../../utils/rag/fetchRagContent"; +import { parseKeyStage } from "../../../utils/rag/parseKeyStage"; +import { parseSubjects } from "../../../utils/rag/parseSubjects"; import type { AilaServices } from "../../AilaServices"; import { AilaPromptBuilder } from "../AilaPromptBuilder"; @@ -55,6 +59,10 @@ export class AilaLessonPromptBuilder extends AilaPromptBuilder { }> { const noRelevantLessonPlans = "None"; const { chatId, userId } = this._aila; + if (!userId) { + throw new Error("User ID is required to fetch relevant lesson plans"); + } + if (!this._aila?.options.useRag || !chatId) { return { ragLessonPlans: [], @@ -64,36 +72,80 @@ export class AilaLessonPromptBuilder extends AilaPromptBuilder { const { title, subject, keyStage, topic } = this._aila?.lessonPlan ?? {}; - let relevantLessonPlans: RagLessonPlan[] = []; - await tryWithErrorReporting(async () => { - relevantLessonPlans = await fetchRagContent({ - title: title ?? "unknown", - subject, - topic, - keyStage, - id: chatId, - k: - this._aila?.options.numberOfLessonPlansInRag ?? - DEFAULT_RAG_LESSON_PLANS, - prisma: globalPrisma, - chatId, - userId, - }); - }, "Did not fetch RAG content. Continuing"); + const NEW_RAG_ENABLED = true; - log.info("Fetched relevant lesson plans", relevantLessonPlans.length); - const stringifiedRelevantLessonPlans = JSON.stringify( - relevantLessonPlans, - null, - 2, + const newRagEnabled = await posthogAiBetaServerClient.isFeatureEnabled( + "rag-schema-2024-12", + userId, ); - log.info("Got RAG content, length:", stringifiedRelevantLessonPlans.length); + if (newRagEnabled) { + if (!title || !subject || !keyStage) { + log.error( + "Missing title, subject or keyStage, returning empty content", + ); + return { + ragLessonPlans: [], + stringifiedRelevantLessonPlans: noRelevantLessonPlans, + }; + } - return { - ragLessonPlans: relevantLessonPlans, - stringifiedRelevantLessonPlans, - }; + const keyStageSlugs = keyStage ? [parseKeyStage(keyStage)] : null; + const subjectSlugs = subject ? parseSubjects(subject) : null; + + const relevantLessonPlans = await getRelevantLessonPlans({ + title, + keyStageSlugs, + subjectSlugs, + }); + const stringifiedRelevantLessonPlans = JSON.stringify( + relevantLessonPlans, + null, + 2, + ); + + return { + ragLessonPlans: relevantLessonPlans.map((l) => ({ + ...l.lessonPlan, + id: l.ragLessonPlanId, + })), + stringifiedRelevantLessonPlans, + }; + } else { + let relevantLessonPlans: RagLessonPlan[] = []; + await tryWithErrorReporting(async () => { + relevantLessonPlans = await fetchRagContent({ + title: title ?? "unknown", + subject, + topic, + keyStage, + id: chatId, + k: + this._aila?.options.numberOfLessonPlansInRag ?? + DEFAULT_RAG_LESSON_PLANS, + prisma: globalPrisma, + chatId, + userId, + }); + }, "Did not fetch RAG content. Continuing"); + + log.info("Fetched relevant lesson plans", relevantLessonPlans.length); + const stringifiedRelevantLessonPlans = JSON.stringify( + relevantLessonPlans, + null, + 2, + ); + + log.info( + "Got RAG content, length:", + stringifiedRelevantLessonPlans.length, + ); + + return { + ragLessonPlans: relevantLessonPlans, + stringifiedRelevantLessonPlans, + }; + } } private systemPrompt( diff --git a/packages/aila/src/protocol/schema.ts b/packages/aila/src/protocol/schema.ts index 9e4a6fcbd..3ef8d0274 100644 --- a/packages/aila/src/protocol/schema.ts +++ b/packages/aila/src/protocol/schema.ts @@ -576,8 +576,7 @@ export const LessonPlanJsonSchema = zodToJsonSchema( ); const AilaRagRelevantLessonSchema = z.object({ - // @todo add this after next ingest - // oakLessonId: z.number(), + oakLessonId: z.number().nullish(), lessonPlanId: z.string(), title: z.string(), }); diff --git a/packages/aila/src/utils/rag/parseKeyStage.ts b/packages/aila/src/utils/rag/parseKeyStage.ts new file mode 100644 index 000000000..9daa83aaa --- /dev/null +++ b/packages/aila/src/utils/rag/parseKeyStage.ts @@ -0,0 +1,20 @@ +const keyStageMap: Record = { + 1: "ks1", + 2: "ks2", + 3: "ks3", + 4: "ks4", + 5: "ks5", + keystage1: "ks1", + keystage2: "ks2", + keystage3: "ks3", + keystage4: "ks4", + keystage5: "ks5", + eyfs: "early-years-foundation-stage", +}; + +export function parseKeyStage(maybeKeyStage: string): string { + maybeKeyStage = maybeKeyStage.toLowerCase().replace(/[^a-z0-9]/g, ""); + const keyStageSlug = keyStageMap[maybeKeyStage]; + + return keyStageSlug ?? maybeKeyStage; +} diff --git a/packages/aila/src/utils/rag/parseSubjects.ts b/packages/aila/src/utils/rag/parseSubjects.ts new file mode 100644 index 000000000..dbece7719 --- /dev/null +++ b/packages/aila/src/utils/rag/parseSubjects.ts @@ -0,0 +1,17 @@ +const subjectMap: Record = { + science: ["biology", "chemistry", "physics", "science", "combined-science"], + biology: ["biology", "science", "combined-science"], + chemistry: ["chemistry", "science", "combined-science"], + physics: ["physics", "science", "combined-science"], + "combined-science": [ + "combined-science", + "science", + "biology", + "chemistry", + "physics", + ], +}; + +export function parseSubjects(subject: string): string[] { + return subjectMap[subject] ?? [subject]; +} diff --git a/packages/core/src/rag/index.ts b/packages/core/src/rag/index.ts index d97ad0fe0..9de079da5 100644 --- a/packages/core/src/rag/index.ts +++ b/packages/core/src/rag/index.ts @@ -21,6 +21,7 @@ import { DEFAULT_CATEGORISE_MODEL } from "../../../aila/src/constants"; import type { OpenAICompletionWithLoggingOptions } from "../../../aila/src/lib/openai/OpenAICompletionWithLogging"; import { OpenAICompletionWithLogging } from "../../../aila/src/lib/openai/OpenAICompletionWithLogging"; import type { JsonValue } from "../models/prompts"; +import { shortenKeyStage } from "../utils/shortenKeyStage"; import { slugify } from "../utils/slugify"; import { keyStages, subjects } from "../utils/subjects"; import { CategoriseKeyStageAndSubjectResponse } from "./categorisation"; @@ -552,19 +553,19 @@ Thank you and happy classifying!`; if (!keyStage) { return null; } - let cachedKeyStage: KeyStage | null; - try { - cachedKeyStage = await kv.get(`keyStage:${keyStage}`); - if (cachedKeyStage) { - return cachedKeyStage; - } - } catch (e) { - log.error( - "Error parsing cached keyStage. Continuing without cached value", - e, - ); - await kv.del(`keyStage:${keyStage}`); - } + // let cachedKeyStage: KeyStage | null; + // try { + // cachedKeyStage = await kv.get(`keyStage:${keyStage}`); + // if (cachedKeyStage) { + // return cachedKeyStage; + // } + // } catch (e) { + // log.error( + // "Error parsing cached keyStage. Continuing without cached value", + // e, + // ); + // await kv.del(`keyStage:${keyStage}`); + // } let foundKeyStage: KeyStage | null = null; foundKeyStage = await this.prisma.keyStage.findFirst({ @@ -575,6 +576,12 @@ Thank you and happy classifying!`; { slug: slugify(keyStage) }, { title: { equals: keyStage.toLowerCase(), mode: "insensitive" } }, { slug: { equals: keyStage.toLowerCase(), mode: "insensitive" } }, + { + slug: { + equals: shortenKeyStage(slugify(keyStage)), + mode: "insensitive", + }, + }, ], }, cacheStrategy: { ttl: 60 * 5, swr: 60 * 2 }, @@ -692,6 +699,8 @@ Thank you and happy classifying!`; }; } + log.info("Filter:", filter); + const vectorStore = PrismaVectorStore.withModel( this.prisma, ).create( @@ -723,6 +732,8 @@ Thank you and happy classifying!`; similaritySearchTerm, k * 5, // search for more records than we need ); + + log.info("Initial search result", result); } catch (e) { if (e instanceof TypeError && e.message.includes("join([])")) { log.warn("Caught TypeError with join([]), returning empty array"); diff --git a/packages/core/src/utils/shortenKeyStage.ts b/packages/core/src/utils/shortenKeyStage.ts new file mode 100644 index 000000000..87d177746 --- /dev/null +++ b/packages/core/src/utils/shortenKeyStage.ts @@ -0,0 +1,10 @@ +export const shortenKeyStage = (keyStage: string) => { + const keyStageMap: Record = { + "key-stage-1": "KS1", + "key-stage-2": "KS2", + "key-stage-3": "KS3", + "key-stage-4": "KS4", + }; + + return keyStageMap[keyStage] || keyStage; +}; diff --git a/packages/db/prisma/additions/README.md b/packages/db/prisma/additions/README.md new file mode 100644 index 000000000..b6b8fdb4f --- /dev/null +++ b/packages/db/prisma/additions/README.md @@ -0,0 +1,3 @@ +# Schema additions + +This directory houses SQL additions to the Prisma schema where the Prisma schema is not expressive enough to capture the desired schema. diff --git a/packages/db/prisma/additions/rag_lesson_plans_ivfflat_index.sql b/packages/db/prisma/additions/rag_lesson_plans_ivfflat_index.sql new file mode 100644 index 000000000..08e104a18 --- /dev/null +++ b/packages/db/prisma/additions/rag_lesson_plans_ivfflat_index.sql @@ -0,0 +1,4 @@ +CREATE INDEX IF NOT EXISTS idx_rag_lesson_plan_parts_embedding_ann +ON rag.rag_lesson_plan_parts +USING ivfflat (embedding vector_cosine_ops) +WITH (lists = 100); \ No newline at end of file diff --git a/packages/db/prisma/additions/rag_lesson_plans_unique_slug_index.sql b/packages/db/prisma/additions/rag_lesson_plans_unique_slug_index.sql new file mode 100644 index 000000000..994d8d499 --- /dev/null +++ b/packages/db/prisma/additions/rag_lesson_plans_unique_slug_index.sql @@ -0,0 +1,3 @@ +CREATE UNIQUE INDEX IF NOT EXISTS idx_rag_lesson_plans_unique_published_oak_lesson_slug +ON rag.rag_lesson_plans (oak_lesson_slug) +WHERE is_published = TRUE; \ No newline at end of file diff --git a/packages/ingest/package.json b/packages/ingest/package.json index 6fe8c0cbf..0e8d76370 100644 --- a/packages/ingest/package.json +++ b/packages/ingest/package.json @@ -31,6 +31,7 @@ "@oakai/core": "*", "@oakai/db": "*", "@oakai/logger": "*", + "@paralleldrive/cuid2": "^2.2.2", "csv-parser": "^3.0.0", "graphql-request": "^6.1.0", "webvtt-parser": "^2.2.0", diff --git a/packages/ingest/src/_data/.gitignore b/packages/ingest/src/_data/.gitignore index 103f2953d..5f18321f9 100644 --- a/packages/ingest/src/_data/.gitignore +++ b/packages/ingest/src/_data/.gitignore @@ -1,3 +1,4 @@ *.jsonl *.json -*.csv \ No newline at end of file +*.csv +* \ No newline at end of file diff --git a/packages/ingest/src/config/ingestConfig.ts b/packages/ingest/src/config/ingestConfig.ts index 267d27ab8..f3ca17c23 100644 --- a/packages/ingest/src/config/ingestConfig.ts +++ b/packages/ingest/src/config/ingestConfig.ts @@ -20,5 +20,7 @@ export const IngestConfigSchema = z.object({ filePath: z.string(), }), ]), + title: z.string().optional(), + description: z.string().optional(), }); export type IngestConfig = z.infer; diff --git a/packages/ingest/src/db-helpers/step.ts b/packages/ingest/src/db-helpers/step.ts index 5a7c58221..0d9b3026f 100644 --- a/packages/ingest/src/db-helpers/step.ts +++ b/packages/ingest/src/db-helpers/step.ts @@ -6,6 +6,7 @@ export const STEP = [ "lesson_plan_generation", "chunking", "embedding", + "publishing", ] as const; const STEP_STATUS = ["started", "completed", "failed"] as const; diff --git a/packages/ingest/src/generate-lesson-plans/parseBatchLessonPlan.ts b/packages/ingest/src/generate-lesson-plans/parseBatchLessonPlan.ts index 852733602..b53539cc6 100644 --- a/packages/ingest/src/generate-lesson-plans/parseBatchLessonPlan.ts +++ b/packages/ingest/src/generate-lesson-plans/parseBatchLessonPlan.ts @@ -2,6 +2,7 @@ import { CompletedLessonPlanSchema } from "@oakai/aila/src/protocol/schema"; import { IngestError } from "../IngestError"; import { CompletionBatchResponseSchema } from "../zod-schema/zodSchema"; +import { parseKeyStage } from "./parseKeyStage"; export function parseBatchLessonPlan(line: unknown) { let result; @@ -37,6 +38,8 @@ export function parseBatchLessonPlan(line: unknown) { lessonPlan = CompletedLessonPlanSchema.parse( JSON.parse(maybeLessonPlanString), ); + + lessonPlan.keyStage = parseKeyStage(lessonPlan.keyStage); } catch (cause) { throw new IngestError("Failed to parse lesson plan", { cause, diff --git a/packages/ingest/src/generate-lesson-plans/parseKeyStage.ts b/packages/ingest/src/generate-lesson-plans/parseKeyStage.ts new file mode 100644 index 000000000..9daa83aaa --- /dev/null +++ b/packages/ingest/src/generate-lesson-plans/parseKeyStage.ts @@ -0,0 +1,20 @@ +const keyStageMap: Record = { + 1: "ks1", + 2: "ks2", + 3: "ks3", + 4: "ks4", + 5: "ks5", + keystage1: "ks1", + keystage2: "ks2", + keystage3: "ks3", + keystage4: "ks4", + keystage5: "ks5", + eyfs: "early-years-foundation-stage", +}; + +export function parseKeyStage(maybeKeyStage: string): string { + maybeKeyStage = maybeKeyStage.toLowerCase().replace(/[^a-z0-9]/g, ""); + const keyStageSlug = keyStageMap[maybeKeyStage]; + + return keyStageSlug ?? maybeKeyStage; +} diff --git a/packages/ingest/src/index.ts b/packages/ingest/src/index.ts index 67329af6f..8c79e2135 100644 --- a/packages/ingest/src/index.ts +++ b/packages/ingest/src/index.ts @@ -5,6 +5,7 @@ import { prisma } from "@oakai/db"; import { aiLogger } from "@oakai/logger"; +import { IngestError } from "./IngestError"; import { getLatestIngestId } from "./db-helpers/getLatestIngestId"; import { ingestStart } from "./steps/0-start"; import { captions } from "./steps/1-captions"; @@ -13,6 +14,7 @@ import { lpBatchSync } from "./steps/3-lp-batch-sync"; import { lpChunking } from "./steps/4-lp-chunking"; import { lpPartsEmbedStart } from "./steps/5-lp-parts-embed-start"; import { lpPartsEmbedSync } from "./steps/6-lp-parts-embed-sync"; +import { publishToRag } from "./steps/7-publish"; const command = process.argv[2]; @@ -47,6 +49,10 @@ async function main() { case "embed-sync": await lpPartsEmbedSync({ prisma, log, ingestId }); break; + + case "publish": + await publishToRag({ prisma, log, ingestId }); + break; default: log.error("Unknown command"); process.exit(1); @@ -54,6 +60,11 @@ async function main() { } main().catch((error) => { - log.error("Error running command", error); + log.info(error.toString()); + if (error instanceof IngestError) { + log.info("Ingest ID " + error.ingestId); + log.info("Lesson ID " + error.lessonId); + } + log.error("Error running command, see above"); process.exit(1); }); diff --git a/packages/ingest/src/steps/7-publish.ts b/packages/ingest/src/steps/7-publish.ts new file mode 100644 index 000000000..8f1aca46e --- /dev/null +++ b/packages/ingest/src/steps/7-publish.ts @@ -0,0 +1,260 @@ +import { + LessonPlanSchema, + type LooseLessonPlan, +} from "@oakai/aila/src/protocol/schema"; +import type { Prisma, PrismaClientWithAccelerate } from "@oakai/db"; +import { createId } from "@paralleldrive/cuid2"; +import { isTruthy } from "remeda"; +import { z } from "zod"; + +import { IngestError } from "../IngestError"; +import { loadLessonsAndUpdateState } from "../db-helpers/loadLessonsAndUpdateState"; +import type { Step } from "../db-helpers/step"; +import { getPrevStep } from "../db-helpers/step"; +import type { IngestLogger } from "../types"; +import { chunkAndPromiseAll } from "../utils/chunkAndPromiseAll"; + +const currentStep: Step = "publishing"; +const prevStep = getPrevStep(currentStep); + +/** + * Publish ingest lesson_plans and lesson_plan_parts to the rag schema + */ +export async function publishToRag({ + prisma, + log, + ingestId, +}: { + prisma: PrismaClientWithAccelerate; + log: IngestLogger; + ingestId: string; +}) { + log.info("Publishing lesson plans and parts to RAG schema"); + + const lessons = await loadLessonsAndUpdateState({ + prisma, + ingestId, + prevStep, + currentStep, + }); + + log.info(`Loaded ${lessons.length} lessons`); + + /** + * Build list of lesson plans to publish + */ + const ragLessonPlans: { + oakLessonId?: number; + oakLessonSlug: string; + ingestLessonId?: string; + subjectSlug: string; + keyStageSlug: string; + lessonPlan: LooseLessonPlan; + }[] = []; + + for (const lesson of lessons) { + if (!lesson.lessonPlan) { + throw new IngestError("Lesson is missing lesson plan", { + ingestId, + lessonId: lesson.id, + }); + } + + const lessonPlan = LessonPlanSchema.parse(lesson.lessonPlan.data); + + ragLessonPlans.push({ + oakLessonId: lesson.oakLessonId, + oakLessonSlug: lesson.data.lessonSlug, + ingestLessonId: lesson.id, + subjectSlug: lesson.data.subjectSlug, + keyStageSlug: lesson.data.keyStageSlug, + lessonPlan, + }); + } + + log.info("About to chunk"); + + /** + * Add lesson plans to RAG schema + */ + await chunkAndPromiseAll({ + data: ragLessonPlans, + chunkSize: 500, + fn: async (data) => { + try { + log.info(`Writing ${data.length} lesson plans`); + await prisma.ragLessonPlan.createMany({ + data, + }); + log.info(`Written ${data.length} lesson plans`); + } catch (error) { + log.error(error); + throw error; + } + }, + }); + + log.info(`Written ${ragLessonPlans.length} lesson plans`); + + /** + * Fetch persisted lesson plans (with ids) + */ + const persistedRagLessonPlans = await prisma.ragLessonPlan.findMany({ + where: { + ingestLessonId: { + in: ragLessonPlans.map((lp) => lp.ingestLessonId).filter(isTruthy), + }, + }, + select: { + id: true, + ingestLessonId: true, + }, + }); + + const ragLessonPlanParts: { + ragLessonPlanId: string; + key: string; + valueText: string; + valueJson: Prisma.JsonValue; + embedding: number[]; + }[] = []; + + for (const ragLessonPlan of persistedRagLessonPlans) { + const ragLessonPlanId = ragLessonPlan.id; + const ingestLessonId = ragLessonPlan.ingestLessonId; + const lesson = lessons.find((l) => l.id === ingestLessonId); + + /** + * @todo this takes ages one by one. group these queries + */ + const lessonPlanParts = await prisma.$queryRaw` + SELECT key, value_text, value_json, embedding::text + FROM ingest.ingest_lesson_plan_part + WHERE lesson_id = ${ingestLessonId} + `; + const parsedLessonPlanParts = z + .array( + z.object({ + key: z.string(), + value_text: z.string(), + value_json: z.union([ + z.string(), + z.array(z.union([z.string(), z.object({}).passthrough()])), + z.object({}).passthrough(), + ]), + embedding: z.string(), + }), + ) + .parse(lessonPlanParts); + + if (!lesson) { + throw new IngestError("Lesson not found", { + ingestId, + lessonId: ingestLessonId ?? "NO_ID_PROVIDED", + }); + } + + for (const part of parsedLessonPlanParts) { + ragLessonPlanParts.push({ + ragLessonPlanId, + key: part.key, + valueText: part.value_text, + valueJson: part.value_json, + embedding: part.embedding.slice(1, -1).split(",").map(Number), + }); + } + } + + log.info(`Writing ${ragLessonPlanParts.length} lesson plan parts`); + + /** + * Add lesson plan parts to RAG schema + */ + await chunkAndPromiseAll({ + data: ragLessonPlanParts, + chunkSize: 500, + fn: async (data) => { + const now = new Date().toISOString(); + // Need to use $queryRaw because Prisma doesn't support the vector type + await prisma.$queryRaw` + INSERT INTO rag.rag_lesson_plan_parts (id, rag_lesson_plan_id, key, value_text, value_json, created_at, updated_at, embedding) + SELECT * + FROM UNNEST ( + ARRAY[${data.map(() => createId())}]::text[], + ARRAY[${data.map((p) => p.ragLessonPlanId)}]::text[], + ARRAY[${data.map((p) => p.key)}]::text[], + ARRAY[${data.map((p) => p.valueText)}]::text[], + ARRAY[${data.map((p) => JSON.stringify(p.valueJson))}]::jsonb[], + ARRAY[${data.map(() => now)}]::timestamp[], + ARRAY[${data.map(() => now)}]::timestamp[], + ARRAY[${data.map((p) => { + return "[" + p.embedding.join(",") + "]"; + })}]::vector[] + ); + `; + + log.info(prisma.$queryRawUnsafe.toString()); + }, + }); + + /** + * In a transaction, update old versions of lesson plans to be unpublished + * and the new versions to be published + */ + await prisma.$transaction([ + prisma.ragLessonPlan.updateMany({ + where: { + oakLessonSlug: { + in: lessons.map((l) => l.data.lessonSlug), + }, + id: { + notIn: lessons.map((l) => l.id), + }, + }, + data: { + isPublished: false, + }, + }), + prisma.ragLessonPlan.updateMany({ + where: { + id: { + in: lessons.map((l) => l.id), + }, + }, + data: { + isPublished: true, + }, + }), + ]); + + // /** + // * Perform check to ensure no duplicate lesson plans are created + // */ + // const duplicateResults = await chunkAndPromiseAll({ + // data: lessons, + // chunkSize: 500, + // fn: async (data) => + // prisma.ragLessonPlan.findMany({ + // where: { + // oakLessonSlug: { + // in: data.map((l) => l.data.lessonSlug), + // }, + // }, + // select: { + // ingestLessonId: true, + // oakLessonId: true, + // oakLessonSlug: true, + // }, + // }), + // }); + // const duplicateLessonPlans = duplicateResults.flat(); + + // if (duplicateLessonPlans.length > 0) { + // log.error(`Duplicate lesson plans found: ${duplicateLessonPlans.length}`); + // throw new IngestError("Duplicate lesson plans found", { + // ingestId, + // }); + // } + + log.info("Published lesson plans and parts to RAG schema"); +} diff --git a/packages/rag/fixtures.json b/packages/rag/fixtures.json new file mode 100644 index 000000000..af33497c9 --- /dev/null +++ b/packages/rag/fixtures.json @@ -0,0 +1,112 @@ +{ + "inventions of the industrial revolution": { + "embedding": [ + 0.024054011, 0.0109390505, -0.043416213, -0.038962398, -0.1653692, + -0.04736005, -0.14959385, -0.099207915, 0.0029982517, 0.082616605, + 0.0067402227, 0.058205605, 0.08098467, 0.041988272, 0.032060683, + 0.057797622, -0.06983313, -0.013480445, -0.038554415, -0.041920274, + -0.009349615, 0.00036017268, -0.026195923, -0.08853236, -0.047734037, + -0.03347162, 0.011109043, -0.021130132, -0.065855294, 0.14700995, + 0.029595783, -0.0437902, -0.0032043683, -0.027878853, 0.08084867, + 0.026127925, 0.048312012, 0.057933617, 0.10471569, -0.09628404, + 0.042362258, -0.026586907, 0.020807143, 0.014746893, -0.03699048, + 0.071057074, -0.13735434, -0.020314164, -0.11511926, 0.117227174, + -0.0049297973, -0.12130701, 0.001131516, 0.054125775, -0.04640809, + -0.058409598, 0.04348421, 0.13823831, 0.010038087, -0.13477045, + 0.0069314647, 0.035698533, -0.16400926, 0.052187853, -0.013276454, + -0.07636086, -0.071125075, -0.015758352, 0.110699445, -0.003935338, + 0.002284281, 0.06639927, 0.025379956, 0.041478295, 0.08322857, + -0.070921086, 0.019855183, 0.04695207, 0.051609877, 0.022864059, + 0.091932215, 0.01893722, 0.00899263, -0.06361138, 0.055213727, + 0.028541826, 0.04181828, -0.020246167, 0.121511005, 0.054635752, + 0.009001129, 0.09302017, 0.0534458, -0.0007793117, 0.010361074, + 0.030700738, 0.07506891, -0.059939533, -0.013344451, 0.035902523, + -0.023782022, 0.0315507, -0.013573942, -0.077652805, 0.058001615, + 0.012256496, -0.019532196, 0.08057669, -0.10131583, 0.09839195, + 0.023527032, -0.025396956, 0.04086632, -0.017373286, -0.060177524, + -0.038282424, 0.020620152, -0.105055675, 0.010157082, 0.01893722, + 0.06639927, 0.0066424767, 0.07262101, -0.013896928, -0.103015766, + -0.010641562, 0.0631354, -0.11348733, -0.03811243, -0.039336383, + -0.03211168, 0.022898057, 0.01602184, 0.051643874, 0.07683684, + -0.07377697, 0.089144334, -0.0021153504, -0.063577384, 0.0631354, + -0.12096702, -0.0018295498, -0.016327828, -0.06850718, -0.011007047, + 0.0061834957, -0.15530561, -0.005864759, -0.06031352, 0.059327558, + -0.110223465, -0.014228415, -0.083772555, 0.038214426, -0.01118554, + 0.014959385, 0.0153758675, 0.037330464, -0.016089838, -0.08098467, + 0.051167894, 0.037500456, -0.06765722, 0.06939115, 0.116547205, + -0.038248427, 0.07214503, 0.04253225, -0.029527785, 0.0340496, 0.07568089, + 0.011797515, 0.0050147935, -0.16754511, 0.08248061, -0.059667546, + -0.0048660496, -0.0135229435, 0.012477486, -0.06446135, -0.066161275, + 0.031074721, 0.033794608, 0.034508582, 0.067895204, 0.0047385553, + -0.0063067405, 0.036718488, 0.04277024, -0.07874076, -0.023068052, + -0.10233579, -0.014984883, 0.1650972, -0.037670452, -0.021504115, + -0.003478482, -0.027249878, -0.097575985, -0.0046620583, -0.076292865, + 0.10716359, 0.06541331, -0.052833825, 0.050929904, 0.010922051, + -0.024105009, 0.084520526, 0.03818043, -0.060041532, 0.018206252, + -0.024342999, -0.088668354, -0.063645385, -0.048006024, 0.040526334, + 0.11974307, 0.019804185, -0.08975631, -0.02798085, 0.0085293995, + 0.027606864, 0.028677821, 0.0046620583, -0.051405884, -0.027079886, + -0.10845554, 0.06361138, 0.049773954, 0.005053042, 0.035664532, + -0.15666555, -0.1264068, 0.052425843, -0.078400776, 0.055927698, + -0.043892194, 0.0052400343, -0.014313411, -0.022660067, 0.039778363, + -0.0021079134, -0.010871053, -0.08547249, 0.011933509, -0.015290871, + -0.009035128, 0.0947201, 0.05470375, -0.027997848, 0.058851577, + -0.0028473828, 0.010488569, -0.08554048, -0.07214503, 0.04103631 + ] + }, + "the end of roman britain": { + "embedding": [ + -0.06042437, -0.061291862, -0.015873492, 0.050047792, -0.06189244, + -0.021437138, -0.0015108178, 0.05979043, -0.082412034, 0.036034413, + -0.060891483, 0.08087724, -0.087950654, -0.04317456, 0.026208362, + -0.09776002, 0.0021218178, -0.000719437, 0.02659206, -0.08161127, + -0.043141197, 0.020069165, -0.03653489, -0.089618914, -0.09896117, + 0.023038667, -0.03146338, -0.06496204, -0.029328007, 0.09615849, + 0.021303678, -0.02472361, 0.17229787, 0.054351903, -0.016107049, + 0.13799845, 0.1247191, 0.10263134, -0.036868542, -0.04751204, 0.026942395, + -0.0071568345, -0.015523157, 0.04494292, 0.020669738, -0.017933793, + 0.018767923, -0.02742619, -0.059456777, -0.01778365, -0.04284091, + 0.0012793468, -0.032848034, 0.04784569, -0.048512995, -0.027759843, + 0.06906595, 0.036568254, -0.10630151, 0.008316275, -0.047311846, + 0.074871495, 0.11584396, 0.02499053, -0.091821015, -0.0139466515, + 0.08227857, -0.014146843, -0.07146825, -0.065228954, 0.033515338, + 0.019118257, 0.0041831615, -0.06185907, -0.12852274, -0.02298862, + 0.05848919, 0.03993814, -0.13312712, -0.008758364, -0.022421412, + -0.0076948483, 0.03011209, -0.018033888, 0.036267966, -0.007699019, + -0.054952476, -0.069132686, 0.04681137, -0.04861309, 0.05959024, + -0.0468781, -0.019051526, -0.20286039, 0.015398038, -0.07140152, + 0.035233647, 0.016332263, -0.07233574, -0.06479521, -0.042807546, + -0.045076378, 0.024456687, 0.05361787, 0.048846647, -0.05008116, + 0.00113963, -0.013963334, 0.022171173, 0.21180226, 0.12024816, 0.06696395, + 0.007653142, 0.038002957, -0.08354645, 0.0017495875, 0.028977672, + -0.057821885, -0.036634985, 0.04244053, -0.024973849, -0.043341387, + 0.10863708, -0.0014180208, -0.044842824, 0.072869584, -0.03610114, + 0.039204106, -0.05395152, 0.005613694, -0.10016232, 0.021303678, + 0.05144913, 0.19164968, 0.056287084, 0.0042749154, -0.039404295, + 0.019034844, 0.09242159, -0.024690244, -0.0076906774, 0.06289339, + 0.0012845601, 0.032464337, 0.003634721, 0.03570076, 0.043374754, + -0.028744116, -0.009675907, -0.05888957, 0.0026024852, 0.083880104, + -0.0044459123, -0.035233647, -0.037168827, -0.0336488, 0.00944235, + -0.033415243, -0.038303245, 0.04063881, -0.063160315, 0.04554349, + -0.017057955, 0.009008603, -0.015681641, -0.07440439, 0.12445218, + -0.03820315, -0.026425235, 0.008883484, 0.11397551, -0.06516223, + -0.054185078, -0.044208884, 0.07867513, 0.033765577, -0.09569138, + -0.0445759, -0.022171173, 0.09422331, 0.020002434, -0.017950475, + -0.06215936, -0.05568651, 0.045043014, -0.008337128, -0.016198803, + 0.0074279266, -0.0558867, -0.08574855, -0.07680668, -0.12191642, + 0.12084874, 0.04514311, -0.076339565, -0.014588932, 0.073203236, + 0.08181146, -0.0468781, -0.027125904, 0.13933305, 0.054285172, + -0.04327466, -0.08488106, 0.08367991, -0.03750248, 0.051849514, + 0.106701896, 0.15334643, -0.015131116, -0.0036242944, 0.04327466, + -0.036768444, -0.0026921541, -0.087750465, 0.07240248, -0.034833264, + 0.012178296, -0.015556523, 0.021820838, -0.03306491, -0.044409074, + -0.083146065, 0.04187332, 0.014680686, -0.052883834, 0.0075447047, + 0.08621567, 0.07827475, 0.053217486, -0.049547315, -0.00712764, + -0.11771241, -0.0070400564, 0.07146825, -0.0028402123, -0.106902085, + -0.0017214356, 0.07527188, 0.043341387, -0.025924757, 0.04631089, + -0.03171362, -0.10756939, 0.05425181, 0.0051424108, -0.07580572, + 0.037402384, -0.05888957, -0.003622209, 0.1297906, 0.09408985, + 0.0053551137, 0.10550075, -0.080743775, 0.005496916 + ] + } +} diff --git a/packages/rag/index.ts b/packages/rag/index.ts new file mode 100644 index 000000000..3d3ef664f --- /dev/null +++ b/packages/rag/index.ts @@ -0,0 +1,56 @@ +import { prisma } from "@oakai/db"; +import { aiLogger } from "@oakai/logger"; +import { CohereClient } from "cohere-ai"; +import OpenAI from "openai"; + +import { getEmbedding } from "./lib/embedding"; +import { rerankResults } from "./lib/rerank"; +import { vectorSearch } from "./lib/search"; +import type { RagLessonPlanResult } from "./types"; + +const log = aiLogger("rag"); + +const openai = new OpenAI({ apiKey: process.env.OPENAI_API_KEY }); +const cohereClient = new CohereClient({ + token: process.env.COHERE_API_KEY, +}); + +export async function getRelevantLessonPlans({ + title, + keyStageSlugs, + subjectSlugs, +}: { + title: string; + keyStageSlugs: string[] | null; + subjectSlugs: string[] | null; +}): Promise { + log.info(`Getting embedding for title: ${title}`); + const queryVector = await getEmbedding({ text: title, openai }); + log.info("Got embedding"); + + log.info(`Searching vector database for lesson plans`); + const vectorSearchResults = await vectorSearch({ + prisma, + log, + queryVector, + filters: { + keyStageSlugs, + subjectSlugs, + }, + }); + log.info(`Got ${vectorSearchResults.length} search results`); + + if (vectorSearchResults.length === 0) { + return []; + } + + log.info(`Reranking lesson plans`); + const rerankedResults = await rerankResults({ + cohereClient, + query: title, + results: vectorSearchResults, + }); + log.info(`Reranked ${rerankedResults.length} lesson plans`); + + return rerankedResults; +} diff --git a/packages/rag/index.tst.ts b/packages/rag/index.tst.ts new file mode 100644 index 000000000..a9277882b --- /dev/null +++ b/packages/rag/index.tst.ts @@ -0,0 +1,97 @@ +/** + * These are essentially database snapshot tests that are used to test the RAG retrieval. + * Any given RAG data is updated infrequently, so if these tests fail, it's likely + * it's a signal that the RAG logic has changed. + * In this case, the new functionality should be tested and the snapshots updated. + */ +import { prisma } from "@oakai/db"; + +// import OpenAI from "openai"; +import ragFixtures from "./fixtures.json"; + +// const openai = new OpenAI({ apiKey: process.env.OPENAI_API_KEY }); +async function pgVectorSearch({ + vector, + limit = 1, +}: { + vector: number[]; + limit?: number; +}): Promise { + const prismaResult = await prisma.$queryRaw` + SELECT + lesson_plan_id, + lesson_plan_parts.key, + lesson_plan_parts."content", + lesson_plans."content" ->> 'keyStage' as key_stage_slug, + lesson_plans."content" ->> 'subject' as subject_slug, + lesson_plan_parts.embedding <-> ${vector}::vector AS score + from lesson_plans join lesson_plan_parts on lesson_plan_parts.lesson_plan_id = lesson_plans.id + ORDER BY lesson_plan_parts.embedding <-> ${vector}::vector + LIMIT ${limit}`; + + return prismaResult; +} + +describe("RAG search", () => { + // it("should find lessons on 'xxx'", async () => { + // const lesson = { + // title: "The End of Roman Britain", + // subject: "history", + // keyStage: "key-stage-3", + // }; + + // const embedding = await openai.embeddings.create({ + // input: lesson.title, + // model: "text-embedding-3-large", + // dimensions: 256, + // }); + + // console.log(JSON.stringify(embedding.data[0]?.embedding)); + // const embeddingVector = embedding.data[0]?.embedding; + // const limit = 5; + + // const prismaResult = await prisma.$queryRaw` + // SELECT + // lesson_plan_id, + // lesson_plan_parts.key, + // lesson_plan_parts."content", + // lesson_plans."content" ->> 'keyStage' as key_stage_slug, + // lesson_plans."content" ->> 'subject' as subject_slug + // from lesson_plans join lesson_plan_parts on lesson_plan_parts.lesson_plan_id = lesson_plans.id + // ORDER BY lesson_plan_parts.embedding <-> ${embeddingVector}::vector + // LIMIT ${limit}`; + // }); + it("should find lessons on 'inventions of the industrial revolution'", async () => { + const vector = + ragFixtures["inventions of the industrial revolution"].embedding; + + const prismaResult = await pgVectorSearch({ vector }); + + expect(prismaResult).toMatchObject([ + { + lesson_plan_id: "cm23dy6hl05bjba3ufdd2scad", + key: "title", + content: "Inventions of the Industrial Revolution", + key_stage_slug: "ks3", + subject_slug: "history", + score: 0.0012731864653905422, + }, + ]); + }); + it("should find lessons on 'the end of roman britain'", async () => { + const vector = ragFixtures["the end of roman britain"].embedding; + + const prismaResult = await pgVectorSearch({ vector }); + + expect(prismaResult).toMatchObject([ + { + lesson_plan_id: "cm23dy6d9059bba3uq0axg5o7", + key: "topic", + content: "Anglo-Saxons and the end of Roman Britain", + key_stage_slug: "key-stage-2", + subject_slug: "history", + score: 0.6714155933066479, + }, + ]); + }); +}); diff --git a/packages/rag/jest.config.js b/packages/rag/jest.config.js new file mode 100644 index 000000000..859dd1798 --- /dev/null +++ b/packages/rag/jest.config.js @@ -0,0 +1,24 @@ +/** @type {import('ts-jest').JestConfigWithTsJest} */ +const config = { + transform: { + "^.+\\.tsx?$": [ + "ts-jest", + { + tsconfig: "tsconfig.test.json", + useESM: true, + }, + ], + }, + preset: "ts-jest/presets/default-esm", + moduleNameMapper: { + "^(\\.{1,2}/.*)\\.js$": "$1", + }, + extensionsToTreatAsEsm: [".ts"], + testEnvironment: "setup-polly-jest/jest-environment-node", + testMatch: ["**/*.test.ts"], + moduleFileExtensions: ["ts", "tsx", "js", "jsx", "json", "node"], + rootDir: ".", + resetMocks: true, +}; + +module.exports = config; diff --git a/packages/rag/lib/embedding.test.ts b/packages/rag/lib/embedding.test.ts new file mode 100644 index 000000000..b4dd9ce30 --- /dev/null +++ b/packages/rag/lib/embedding.test.ts @@ -0,0 +1,60 @@ +import type { OpenAI } from "openai"; + +import { getEmbedding } from "./embedding"; + +// Mocked OpenAI client +const mockOpenAI = { + embeddings: { + create: jest.fn(), + }, +} as unknown as OpenAI; + +describe("getEmbedding", () => { + const mockText = "This is a test text."; + const mockEmbedding = Array(256).fill(0.1); // Example embedding + + beforeEach(() => { + jest.clearAllMocks(); + }); + + it("returns the embedding for valid input", async () => { + (mockOpenAI.embeddings.create as jest.Mock).mockResolvedValueOnce({ + data: [ + { + embedding: mockEmbedding, + }, + ], + }); + + const result = await getEmbedding({ text: mockText, openai: mockOpenAI }); + + expect(mockOpenAI.embeddings.create).toHaveBeenCalledWith({ + model: "text-embedding-3-large", + dimensions: 256, + input: mockText, + encoding_format: "float", + }); + + expect(result).toEqual(mockEmbedding); + }); + + it("throws an error if no embedding is returned", async () => { + (mockOpenAI.embeddings.create as jest.Mock).mockResolvedValueOnce({ + data: [], + }); + + await expect( + getEmbedding({ text: mockText, openai: mockOpenAI }), + ).rejects.toThrow("Failed to get embedding"); + }); + + it("handles API errors gracefully", async () => { + (mockOpenAI.embeddings.create as jest.Mock).mockRejectedValueOnce( + new Error("API Error"), + ); + + await expect( + getEmbedding({ text: mockText, openai: mockOpenAI }), + ).rejects.toThrow("API Error"); + }); +}); diff --git a/packages/rag/lib/embedding.ts b/packages/rag/lib/embedding.ts new file mode 100644 index 000000000..1be00fbb8 --- /dev/null +++ b/packages/rag/lib/embedding.ts @@ -0,0 +1,27 @@ +import type { OpenAI } from "openai"; + +const DEFAULT_EMBEDDING_MODEL: OpenAI.Embeddings.EmbeddingCreateParams["model"] = + "text-embedding-3-large"; + +export async function getEmbedding({ + text, + openai, +}: { + text: string; + openai: OpenAI; +}): Promise { + const response = await openai.embeddings.create({ + model: DEFAULT_EMBEDDING_MODEL, + dimensions: 256, + input: text, + encoding_format: "float", + }); + + const embedding = response.data[0]?.embedding; + + if (!embedding) { + throw new Error("Failed to get embedding"); + } + + return embedding; +} diff --git a/packages/rag/lib/rerank.test.ts b/packages/rag/lib/rerank.test.ts new file mode 100644 index 000000000..426d088e4 --- /dev/null +++ b/packages/rag/lib/rerank.test.ts @@ -0,0 +1,57 @@ +import type { CohereClient } from "cohere-ai"; + +import type { RagLessonPlanResult } from "../types"; +import { rerankResults } from "./rerank"; + +describe("rerankResults", () => { + it("should rerank results based on cohere's relevanceScore", async () => { + const cohereClient = { + rerank: jest.fn().mockResolvedValue({ + results: [ + { + index: 0, + relevanceScore: 0.4, + }, + { + index: 1, + relevanceScore: 0.9, + }, + { + index: 2, + relevanceScore: 0.5, + }, + ], + }), + }; + const query = "query"; + const results = [ + { + lesson_plan: 0, + }, + { + lesson_plan: 1, + }, + { + lesson_plan: 2, + }, + ] as unknown as RagLessonPlanResult[]; + + const rerankedResults = await rerankResults({ + cohereClient: cohereClient as unknown as CohereClient, + query, + results, + }); + + expect(rerankedResults).toEqual([ + { + lesson_plan: 1, + }, + { + lesson_plan: 2, + }, + { + lesson_plan: 0, + }, + ]); + }); +}); diff --git a/packages/rag/lib/rerank.ts b/packages/rag/lib/rerank.ts new file mode 100644 index 000000000..6782be719 --- /dev/null +++ b/packages/rag/lib/rerank.ts @@ -0,0 +1,37 @@ +import type { CohereClient } from "cohere-ai"; +import type { RerankRequest, RerankResponse } from "cohere-ai/api"; + +import type { RagLessonPlanResult } from "../types"; + +export async function rerankResults({ + cohereClient, + query, + results, +}: { + cohereClient: CohereClient; + query: string; + results: RagLessonPlanResult[]; +}): Promise { + const topN = 5; + + const rerankRequest: RerankRequest = { + documents: results.map((result) => JSON.stringify(result.lessonPlan)), + returnDocuments: false, + query, + topN, + }; + + const rerank: RerankResponse = await cohereClient.rerank(rerankRequest); + + const mostRelevantHydrated = rerank.results + .sort((a, b) => b.relevanceScore - a.relevanceScore) + .map((r) => { + const result = results[r.index]; + if (!result) { + throw new Error(`Lesson plan not found at index ${r.index}`); + } + return result; + }); + + return mostRelevantHydrated; +} diff --git a/packages/rag/lib/search.test.ts b/packages/rag/lib/search.test.ts new file mode 100644 index 000000000..30f4a317b --- /dev/null +++ b/packages/rag/lib/search.test.ts @@ -0,0 +1,127 @@ +import { generateMock } from "@anatine/zod-mock"; +import type { PrismaClientWithAccelerate } from "@oakai/db"; + +import { CompletedLessonPlanSchema } from "../../aila/src/protocol/schema"; +import type { RagLogger } from "../types"; +import { vectorSearch } from "./search"; + +const mockLessonPlan1 = generateMock(CompletedLessonPlanSchema); +const mockLessonPlan2 = generateMock(CompletedLessonPlanSchema); + +// Mocked Prisma client +const mockPrisma = { + $queryRaw: jest.fn(), +} as unknown as PrismaClientWithAccelerate; + +// Mock logger +const mockLog: RagLogger = { + info: jest.fn(), + error: jest.fn(), +}; + +describe("vectorSearch", () => { + const mockQueryVector = [0.1, 0.2, 0.3]; + const mockFilters = { + keyStageSlugs: ["ks1", "ks2"], + subjectSlugs: ["math", "science"], + }; + + const mockResults = [ + { + rag_lesson_plan_id: "plan1", + lesson_plan: mockLessonPlan1, + key: "key1", + value_text: "value1", + distance: 0.5, + }, + { + rag_lesson_plan_id: "plan2", + lesson_plan: mockLessonPlan2, + key: "key2", + value_text: "value2", + distance: 0.8, + }, + ]; + + beforeEach(() => { + jest.clearAllMocks(); + }); + + it("throws an error if no key stages are provided", async () => { + await expect( + vectorSearch({ + prisma: mockPrisma, + log: mockLog, + queryVector: mockQueryVector, + filters: { + keyStageSlugs: [], + subjectSlugs: mockFilters.subjectSlugs, + }, + }), + ).rejects.toThrow("No key stages provided"); + }); + + it("throws an error if no subjects are provided", async () => { + await expect( + vectorSearch({ + prisma: mockPrisma, + log: mockLog, + queryVector: mockQueryVector, + filters: { + keyStageSlugs: mockFilters.keyStageSlugs, + subjectSlugs: [], + }, + }), + ).rejects.toThrow("No subjects provided"); + }); + + it("fetches and returns unique lesson plans", async () => { + (mockPrisma.$queryRaw as jest.Mock).mockResolvedValueOnce(mockResults); + + const result = await vectorSearch({ + prisma: mockPrisma, + log: mockLog, + queryVector: mockQueryVector, + filters: mockFilters, + }); + + expect((mockPrisma.$queryRaw as jest.Mock).mock.calls[0][0][0]).toEqual( + expect.stringContaining("SELECT"), + ); + + expect(result).toEqual([ + { + rag_lesson_plan_id: "plan1", + lesson_plan: mockLessonPlan1, + key: "key1", + value_text: "value1", + distance: 0.5, + }, + { + rag_lesson_plan_id: "plan2", + lesson_plan: mockLessonPlan2, + key: "key2", + value_text: "value2", + distance: 0.8, + }, + ]); + }); + + it("logs the processing time and unique lesson plans count", async () => { + (mockPrisma.$queryRaw as jest.Mock).mockResolvedValueOnce(mockResults); + + await vectorSearch({ + prisma: mockPrisma, + log: mockLog, + queryVector: mockQueryVector, + filters: mockFilters, + }); + + expect(mockLog.info).toHaveBeenCalledWith( + expect.stringContaining("Fetched 2 lesson plans"), + ); + expect(mockLog.info).toHaveBeenCalledWith( + expect.stringContaining("Unique lesson plans: 2"), + ); + }); +}); diff --git a/packages/rag/lib/search.ts b/packages/rag/lib/search.ts new file mode 100644 index 000000000..f7699a37b --- /dev/null +++ b/packages/rag/lib/search.ts @@ -0,0 +1,76 @@ +import type { PrismaClientWithAccelerate } from "@oakai/db"; +import { uniqBy } from "remeda"; +import { z } from "zod"; + +import { CompletedLessonPlanSchema } from "../../aila/src/protocol/schema"; +import type { RagLessonPlanResult, RagLogger } from "../types"; + +const databaseResponseSchema = z.array( + z.object({ + ragLessonPlanId: z.string(), + oakLessonId: z.number().nullable(), + oakLessonSlug: z.string(), + lessonPlan: CompletedLessonPlanSchema, + matchedKey: z.string(), + matchedValue: z.string(), + distance: z.number(), + }), +); + +export async function vectorSearch({ + prisma, + log, + queryVector, + filters, +}: { + prisma: PrismaClientWithAccelerate; + log: RagLogger; + queryVector: number[]; + filters: { + keyStageSlugs: string[] | null; + subjectSlugs: string[] | null; + }; +}): Promise { + const { keyStageSlugs, subjectSlugs } = filters; + if (!keyStageSlugs?.length) { + throw new Error("No key stages provided"); + } + if (!subjectSlugs?.length) { + throw new Error("No subjects provided"); + } + + const queryEmbedding = `[${queryVector.join(",")}]`; + const limit = 50; + const startAt = new Date(); + const response = await prisma.$queryRaw` + SELECT + rag_lesson_plan_id as "ragLessonPlanId", + oak_lesson_id as "oakLessonId", + oak_lesson_slug as "oakLessonSlug", + lesson_plan as "lessonPlan", + key as "matchedKey", + value_text as "matchedValue", + embedding <-> ${queryEmbedding}::vector as distance + FROM rag.rag_lesson_plan_parts JOIN rag.rag_lesson_plans ON rag_lesson_plan_id = rag_lesson_plans.id + WHERE rag_lesson_plans.is_published = true + AND key_stage_slug IN (${keyStageSlugs.join(",")}) + AND subject_slug IN (${subjectSlugs.join(",")}) + ORDER BY embedding <-> ${queryEmbedding}::vector + LIMIT ${limit}; + `; + + const results = databaseResponseSchema.parse(response); + + log.info(results.map((r) => r.lessonPlan.title).join(",\n")); + + const endAt = new Date(); + log.info( + `Fetched ${results.length} lesson plans in ${endAt.getTime() - startAt.getTime()}ms`, + ); + + const uniqueLessonPlans = uniqBy(results, (r) => r.ragLessonPlanId); + + log.info(`Unique lesson plans: ${uniqueLessonPlans.length}`); + + return uniqueLessonPlans; +} diff --git a/packages/rag/package.json b/packages/rag/package.json new file mode 100644 index 000000000..2f35803eb --- /dev/null +++ b/packages/rag/package.json @@ -0,0 +1,31 @@ +{ + "name": "@oakai/rag", + "version": "1.0.0", + "description": "", + "keywords": [], + "license": "ISC", + "author": "", + "main": "./index.ts", + "types": "./index.ts", + "scripts": { + "lint": "eslint .", + "type-check": "tsc --noEmit", + "with-env": "dotenv -e ../../.env --", + "test": "pnpm with-env jest --colors --config jest.config.js" + }, + "prettier": "@oakai/prettier-config", + "dependencies": { + "@anatine/zod-mock": "^3.13.4", + "@faker-js/faker": "^9.3.0", + "@oakai/core": "*", + "@oakai/db": "*", + "@oakai/logger": "*", + "@oakai/prettier-config": "*", + "zod": "3.23.8" + }, + "devDependencies": { + "@types/jest": "^29.5.14", + "jest": "^29.7.0", + "ts-jest": "^29.2.5" + } +} diff --git a/packages/rag/tsconfig.json b/packages/rag/tsconfig.json new file mode 100644 index 000000000..f9c9d7fa2 --- /dev/null +++ b/packages/rag/tsconfig.json @@ -0,0 +1,4 @@ +{ + "extends": "../../tsconfig.json", + "include": ["*.ts", "**/*.ts"] +} diff --git a/packages/rag/tsconfig.test.json b/packages/rag/tsconfig.test.json new file mode 100644 index 000000000..69fb61e62 --- /dev/null +++ b/packages/rag/tsconfig.test.json @@ -0,0 +1,21 @@ +{ + "compilerOptions": { + "target": "esnext", + "module": "esnext", + "lib": ["esnext"], + "outDir": "./dist-tests", + "rootDir": "./src", + "strict": true, + "esModuleInterop": true, + "skipLibCheck": true, + "forceConsistentCasingInFileNames": true, + "moduleResolution": "node", + "resolveJsonModule": true, + "isolatedModules": true, + "incremental": true, + "noEmit": true, + "types": ["jest", "node"] + }, + "include": ["**/*.test.ts"], + "exclude": ["node_modules"] +} diff --git a/packages/rag/types.ts b/packages/rag/types.ts new file mode 100644 index 000000000..d9846aed6 --- /dev/null +++ b/packages/rag/types.ts @@ -0,0 +1,16 @@ +import type { CompletedLessonPlan } from "../aila/src/protocol/schema"; + +export type RagLessonPlanResult = { + ragLessonPlanId: string; + oakLessonId: number | null; + oakLessonSlug: string; + lessonPlan: CompletedLessonPlan; + matchedKey: string; + matchedValue: string; + distance: number; +}; + +export type RagLogger = { + info: (...args: string[]) => void; + error: (...args: string[]) => void; +}; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 77b25dee2..335534291 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -43,7 +43,7 @@ importers: version: 10.4.17(postcss@8.4.35) dependency-cruiser: specifier: ^16.7.0 - version: 16.7.0 + version: 16.8.0 husky: specifier: ^8.0.3 version: 8.0.3 @@ -52,13 +52,13 @@ importers: version: 15.2.2 next: specifier: 14.2.18 - version: 14.2.18(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@18.2.0)(react@18.2.0) + version: 14.2.18(react-dom@18.2.0)(react@18.2.0) postcss: specifier: ^8.4.32 version: 8.4.35 prettier: specifier: ^3.4.1 - version: 3.4.1 + version: 3.4.2 semantic-release: specifier: ^21.1.1 version: 21.1.2(typescript@5.7.2) @@ -163,7 +163,7 @@ importers: version: 6.21.3 '@sentry/nextjs': specifier: ^8.35.0 - version: 8.35.0(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.28.0)(@opentelemetry/instrumentation@0.53.0)(@opentelemetry/sdk-trace-base@1.28.0)(next@14.2.18)(react@18.2.0)(webpack@5.96.1) + version: 8.35.0(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.26.0)(@opentelemetry/instrumentation@0.53.0)(@opentelemetry/sdk-trace-base@1.26.0)(next@14.2.18)(react@18.2.0)(webpack@5.93.0) '@tanstack/react-query': specifier: ^4.16.1 version: 4.19.1(react-dom@18.2.0)(react@18.2.0) @@ -193,7 +193,7 @@ importers: version: 2.4.1(react-dom@18.2.0)(react@18.2.0) ai: specifier: ^3.3.26 - version: 3.3.26(openai@4.58.2)(react@18.2.0)(svelte@5.4.0)(vue@3.5.13)(zod@3.23.8) + version: 3.3.26(openai@4.58.2)(react@18.2.0)(svelte@4.2.15)(vue@3.4.26)(zod@3.23.8) american-british-english-translator: specifier: ^0.2.1 version: 0.2.1 @@ -277,7 +277,7 @@ importers: version: 1.2.2 posthog-js: specifier: ^1.201.0 - version: 1.201.0 + version: 1.202.2 posthog-node: specifier: ^4.3.2 version: 4.3.2 @@ -319,7 +319,7 @@ importers: version: 1.29.0 storybook: specifier: ^8.4.1 - version: 8.4.1(prettier@3.4.1) + version: 8.4.1(prettier@3.4.2) superjson: specifier: ^1.9.1 version: 1.12.0 @@ -340,7 +340,7 @@ importers: version: 1.2.0(@trpc/server@10.45.2)(zod@3.23.8) ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@20.17.9)(typescript@5.7.2) + version: 10.9.2(@types/node@20.17.10)(typescript@5.7.2) tsx: specifier: ^4.16.0 version: 4.16.0 @@ -368,7 +368,7 @@ importers: version: 1.7.0(@playwright/test@1.47.2) '@graphql-codegen/cli': specifier: ^5.0.2 - version: 5.0.2(@types/node@20.17.9)(graphql@16.9.0)(typescript@5.7.2) + version: 5.0.2(@types/node@20.17.10)(graphql@16.9.0)(typescript@5.7.2) '@graphql-codegen/typescript': specifier: ^4.0.9 version: 4.0.9(graphql@16.9.0) @@ -380,7 +380,7 @@ importers: version: 1.47.2 '@sentry/webpack-plugin': specifier: ^2.21.1 - version: 2.21.1(webpack@5.96.1) + version: 2.21.1(webpack@5.93.0) '@storybook/addon-essentials': specifier: ^8.4.1 version: 8.4.1(@types/react@18.2.57)(storybook@8.4.1) @@ -398,7 +398,7 @@ importers: version: 8.4.1(react-dom@18.2.0)(react@18.2.0)(storybook@8.4.1) '@storybook/nextjs': specifier: ^8.4.1 - version: 8.4.1(esbuild@0.21.5)(next@14.2.18)(react-dom@18.2.0)(react@18.2.0)(storybook@8.4.1)(typescript@5.7.2)(webpack@5.96.1) + version: 8.4.1(esbuild@0.21.5)(next@14.2.18)(react-dom@18.2.0)(react@18.2.0)(storybook@8.4.1)(typescript@5.7.2)(webpack@5.93.0) '@storybook/react': specifier: ^8.4.1 version: 8.4.1(@storybook/test@8.4.1)(react-dom@18.2.0)(react@18.2.0)(storybook@8.4.1)(typescript@5.7.2) @@ -416,7 +416,7 @@ importers: version: 29.5.14 '@types/node': specifier: ^20.9.0 - version: 20.17.9 + version: 20.17.10 '@types/react': specifier: ^18.2.37 version: 18.2.57 @@ -443,10 +443,10 @@ importers: version: 16.9.0 jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@20.17.9)(ts-node@10.9.2) + version: 29.7.0(@types/node@20.17.10)(ts-node@10.9.2) msw: specifier: ^2.6.5 - version: 2.6.5(@types/node@20.17.9)(typescript@5.7.2) + version: 2.6.5(@types/node@20.17.10)(typescript@5.7.2) msw-storybook-addon: specifier: ^2.0.4 version: 2.0.4(msw@2.6.5) @@ -486,15 +486,18 @@ importers: '@oakai/logger': specifier: '*' version: link:../logger + '@oakai/rag': + specifier: '*' + version: link:../rag '@sentry/nextjs': specifier: ^8.35.0 - version: 8.35.0(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.28.0)(@opentelemetry/instrumentation@0.53.0)(@opentelemetry/sdk-trace-base@1.28.0)(next@14.2.18)(react@18.2.0)(webpack@5.96.1) + version: 8.35.0(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.26.0)(@opentelemetry/instrumentation@0.53.0)(@opentelemetry/sdk-trace-base@1.26.0)(next@14.2.18)(react@18.2.0)(webpack@5.93.0) '@vercel/kv': specifier: ^0.2.2 version: 0.2.2 ai: specifier: ^3.3.26 - version: 3.3.26(openai@4.58.2)(react@18.2.0)(svelte@5.4.0)(vue@3.5.13)(zod@3.23.8) + version: 3.3.26(openai@4.58.2)(react@18.2.0)(svelte@4.2.15)(vue@3.4.26)(zod@3.23.8) american-british-english-translator: specifier: ^0.2.1 version: 0.2.1 @@ -549,13 +552,13 @@ importers: version: 29.5.14 jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@20.17.9)(ts-node@10.9.2) + version: 29.7.0(@types/node@20.17.10)(ts-node@10.9.2) setup-polly-jest: specifier: ^0.11.0 version: 0.11.0(@pollyjs/core@6.0.6) ts-jest: specifier: ^29.2.5 - version: 29.2.5(@babel/core@7.26.0)(jest@29.7.0)(typescript@5.7.2) + version: 29.2.5(@babel/core@7.24.5)(esbuild@0.21.5)(jest@29.7.0)(typescript@5.7.2) typescript: specifier: 5.7.2 version: 5.7.2 @@ -588,7 +591,7 @@ importers: version: 1.41.1 next: specifier: 14.2.18 - version: 14.2.18(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@18.2.0)(react@18.2.0) + version: 14.2.18(react-dom@18.2.0)(react@18.2.0) remeda: specifier: ^1.29.0 version: 1.29.0 @@ -682,7 +685,7 @@ importers: version: 1.3.1 ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@20.17.9)(typescript@5.7.2) + version: 10.9.2(@types/node@20.17.10)(typescript@5.7.2) untruncate-json: specifier: ^0.0.1 version: 0.0.1 @@ -740,7 +743,7 @@ importers: version: 1.0.225 ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@20.17.9)(typescript@5.7.2) + version: 10.9.2(@types/node@20.17.10)(typescript@5.7.2) yaml: specifier: ^2.4.1 version: 2.4.1 @@ -768,10 +771,10 @@ importers: devDependencies: '@eslint/js': specifier: ^9.16.0 - version: 9.16.0 + version: 9.17.0 '@next/eslint-plugin-next': specifier: ^15.0.3 - version: 15.0.3 + version: 15.1.1 '@rushstack/eslint-patch': specifier: ^1.10.4 version: 1.10.4 @@ -780,55 +783,55 @@ importers: version: 6.11.3 '@types/node': specifier: ^20.9.0 - version: 20.17.9 + version: 20.17.10 '@typescript-eslint/eslint-plugin': specifier: ^8.17.0 - version: 8.17.0(@typescript-eslint/parser@8.17.0)(eslint@9.16.0)(typescript@5.7.2) + version: 8.18.1(@typescript-eslint/parser@8.18.1)(eslint@9.17.0)(typescript@5.7.2) '@typescript-eslint/parser': specifier: ^8.17.0 - version: 8.17.0(eslint@9.16.0)(typescript@5.7.2) + version: 8.18.1(eslint@9.17.0)(typescript@5.7.2) '@typescript-eslint/typescript-estree': specifier: ^8.12.2 - version: 8.17.0(typescript@5.7.2) + version: 8.18.1(typescript@5.7.2) eslint: specifier: ^9.16.0 - version: 9.16.0 + version: 9.17.0 eslint-config-next: specifier: 15.0.3 - version: 15.0.3(eslint@9.16.0)(typescript@5.7.2) + version: 15.0.3(eslint@9.17.0)(typescript@5.7.2) eslint-config-prettier: specifier: ^9.1.0 - version: 9.1.0(eslint@9.16.0) + version: 9.1.0(eslint@9.17.0) eslint-plugin-import: specifier: ^2.31.0 - version: 2.31.0(@typescript-eslint/parser@8.17.0)(eslint-import-resolver-typescript@3.5.2)(eslint@9.16.0) + version: 2.31.0(@typescript-eslint/parser@8.18.1)(eslint-import-resolver-typescript@3.5.2)(eslint@9.17.0) eslint-plugin-jest: specifier: ^28.9.0 - version: 28.9.0(@typescript-eslint/eslint-plugin@8.17.0)(eslint@9.16.0)(typescript@5.7.2) + version: 28.9.0(@typescript-eslint/eslint-plugin@8.18.1)(eslint@9.17.0)(typescript@5.7.2) eslint-plugin-prettier: specifier: ^5.2.1 - version: 5.2.1(eslint-config-prettier@9.1.0)(eslint@9.16.0)(prettier@3.4.1) + version: 5.2.1(eslint-config-prettier@9.1.0)(eslint@9.17.0)(prettier@3.4.2) eslint-plugin-react: specifier: ^7.37.2 - version: 7.37.2(eslint@9.16.0) + version: 7.37.2(eslint@9.17.0) eslint-plugin-react-hooks: specifier: ^5.0.0 - version: 5.0.0(eslint@9.16.0) + version: 5.0.0(eslint@9.17.0) eslint-plugin-storybook: specifier: ^0.11.1 - version: 0.11.1(eslint@9.16.0)(typescript@5.7.2) + version: 0.11.1(eslint@9.17.0)(typescript@5.7.2) eslint-plugin-turbo: specifier: ^2.3.3 - version: 2.3.3(eslint@9.16.0) + version: 2.3.3(eslint@9.17.0) globals: specifier: ^15.13.0 - version: 15.13.0 + version: 15.14.0 prettier: specifier: ^3.4.1 - version: 3.4.1 + version: 3.4.2 ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@20.17.9)(typescript@5.7.2) + version: 10.9.2(@types/node@20.17.10)(typescript@5.7.2) typescript: specifier: 5.7.2 version: 5.7.2 @@ -859,6 +862,9 @@ importers: '@oakai/logger': specifier: '*' version: link:../logger + '@paralleldrive/cuid2': + specifier: ^2.2.2 + version: 2.2.2 csv-parser: specifier: ^3.0.0 version: 3.0.0 @@ -886,13 +892,13 @@ importers: version: 2.2.0 jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@20.17.9)(ts-node@10.9.2) + version: 29.7.0(@types/node@20.17.10)(ts-node@10.9.2) setup-polly-jest: specifier: ^0.11.0 version: 0.11.0(@pollyjs/core@6.0.6) ts-jest: specifier: ^29.2.5 - version: 29.2.5(@babel/core@7.26.0)(jest@29.7.0)(typescript@5.7.2) + version: 29.2.5(@babel/core@7.24.5)(esbuild@0.21.5)(jest@29.7.0)(typescript@5.7.2) packages/logger: dependencies: @@ -914,13 +920,47 @@ importers: devDependencies: '@trivago/prettier-plugin-sort-imports': specifier: ^4.3.0 - version: 4.3.0(prettier@3.4.1) + version: 4.3.0(prettier@3.4.2) prettier: specifier: ^3.4.1 - version: 3.4.1 + version: 3.4.2 prettier-plugin-tailwindcss: specifier: ^0.6.9 - version: 0.6.9(@trivago/prettier-plugin-sort-imports@4.3.0)(prettier@3.4.1) + version: 0.6.9(@trivago/prettier-plugin-sort-imports@4.3.0)(prettier@3.4.2) + + packages/rag: + dependencies: + '@anatine/zod-mock': + specifier: ^3.13.4 + version: 3.13.4(@faker-js/faker@9.3.0)(zod@3.23.8) + '@faker-js/faker': + specifier: ^9.3.0 + version: 9.3.0 + '@oakai/core': + specifier: '*' + version: link:../core + '@oakai/db': + specifier: '*' + version: link:../db + '@oakai/logger': + specifier: '*' + version: link:../logger + '@oakai/prettier-config': + specifier: '*' + version: link:../prettier-config + zod: + specifier: 3.23.8 + version: 3.23.8 + devDependencies: + '@types/jest': + specifier: ^29.5.14 + version: 29.5.14 + jest: + specifier: ^29.7.0 + version: 29.7.0(@types/node@20.17.10)(ts-node@10.9.2) + ts-jest: + specifier: ^29.2.5 + version: 29.2.5(@babel/core@7.24.5)(esbuild@0.21.5)(jest@29.7.0)(typescript@5.7.2) packages: @@ -1021,7 +1061,7 @@ packages: - zod dev: false - /@ai-sdk/svelte@0.0.45(svelte@5.4.0)(zod@3.23.8): + /@ai-sdk/svelte@0.0.45(svelte@4.2.15)(zod@3.23.8): resolution: {integrity: sha512-w5Sdl0ArFIM3Fp8BbH4TUvlrS84WP/jN/wC1+fghMOXd7ceVO3Yhs9r71wTqndhgkLC7LAEX9Ll7ZEPfW9WBDA==} engines: {node: '>=18'} peerDependencies: @@ -1032,8 +1072,8 @@ packages: dependencies: '@ai-sdk/provider-utils': 1.0.17(zod@3.23.8) '@ai-sdk/ui-utils': 0.0.40(zod@3.23.8) - sswr: 2.1.0(svelte@5.4.0) - svelte: 5.4.0 + sswr: 2.1.0(svelte@4.2.15) + svelte: 4.2.15 transitivePeerDependencies: - zod dev: false @@ -1055,7 +1095,7 @@ packages: zod-to-json-schema: 3.23.2(zod@3.23.8) dev: false - /@ai-sdk/vue@0.0.45(vue@3.5.13)(zod@3.23.8): + /@ai-sdk/vue@0.0.45(vue@3.4.26)(zod@3.23.8): resolution: {integrity: sha512-bqeoWZqk88TQmfoPgnFUKkrvhOIcOcSH5LMPgzZ8XwDqz5tHHrMHzpPfHCj7XyYn4ROTFK/2kKdC/ta6Ko0fMw==} engines: {node: '>=18'} peerDependencies: @@ -1066,8 +1106,8 @@ packages: dependencies: '@ai-sdk/provider-utils': 1.0.17(zod@3.23.8) '@ai-sdk/ui-utils': 0.0.40(zod@3.23.8) - swrv: 1.0.4(vue@3.5.13) - vue: 3.5.13(typescript@5.7.2) + swrv: 1.0.4(vue@3.4.26) + vue: 3.4.26(typescript@5.7.2) transitivePeerDependencies: - zod dev: false @@ -1083,6 +1123,17 @@ packages: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 + /@anatine/zod-mock@3.13.4(@faker-js/faker@9.3.0)(zod@3.23.8): + resolution: {integrity: sha512-yO/KeuyYsEDCTcQ+7CiRuY3dnafMHIZUMok6Ci7aERRCTQ+/XmsiPk/RnMx5wlLmWBTmX9kw+PavbMsjM+sAJA==} + peerDependencies: + '@faker-js/faker': ^7.0.0 || ^8.0.0 + zod: ^3.21.4 + dependencies: + '@faker-js/faker': 9.3.0 + randexp: 0.5.3 + zod: 3.23.8 + dev: false + /@anthropic-ai/sdk@0.6.8: resolution: {integrity: sha512-z4gDFrBf+W2wOVvwA3CA+5bfKOxQhPeXQo7+ITWj3r3XPulIMEasVT0KrD41G+anr5Yc3d2PKvXKB6b1LSon5w==} dependencies: @@ -1106,11 +1157,11 @@ packages: graphql: '*' dependencies: '@babel/core': 7.24.5 - '@babel/generator': 7.26.2 - '@babel/parser': 7.26.2 + '@babel/generator': 7.25.0 + '@babel/parser': 7.25.3 '@babel/runtime': 7.24.5 - '@babel/traverse': 7.25.9(supports-color@5.5.0) - '@babel/types': 7.26.0 + '@babel/traverse': 7.25.3(supports-color@5.5.0) + '@babel/types': 7.25.2 babel-preset-fbjs: 3.4.0(@babel/core@7.24.5) chalk: 4.1.2 fb-watchman: 2.0.2 @@ -1142,67 +1193,33 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/highlight': 7.24.5 - picocolors: 1.1.1 + picocolors: 1.0.1 /@babel/code-frame@7.24.7: resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} engines: {node: '>=6.9.0'} dependencies: '@babel/highlight': 7.24.7 - picocolors: 1.1.1 - - /@babel/code-frame@7.26.2: - resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-validator-identifier': 7.25.9 - js-tokens: 4.0.0 - picocolors: 1.1.1 + picocolors: 1.0.1 /@babel/compat-data@7.25.2: resolution: {integrity: sha512-bYcppcpKBvX4znYaPEeFau03bp89ShqNMLs+rmdptMw+heSZh9+z84d2YG+K7cYLbWwzdjtDoW/uqZmPjulClQ==} engines: {node: '>=6.9.0'} - /@babel/compat-data@7.26.2: - resolution: {integrity: sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg==} - engines: {node: '>=6.9.0'} - /@babel/core@7.24.5: resolution: {integrity: sha512-tVQRucExLQ02Boi4vdPp49svNGcfL2GhdTCT9aldhXgCJVAI21EtRfBettiuLUwce/7r6bFdgs6JFkcdTiFttA==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.3.0 - '@babel/code-frame': 7.26.2 - '@babel/generator': 7.26.2 + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.25.0 '@babel/helper-compilation-targets': 7.25.2 '@babel/helper-module-transforms': 7.25.2(@babel/core@7.24.5) '@babel/helpers': 7.24.5 - '@babel/parser': 7.26.2 + '@babel/parser': 7.25.3 '@babel/template': 7.25.0 - '@babel/traverse': 7.25.9(supports-color@5.5.0) - '@babel/types': 7.26.0 - convert-source-map: 2.0.0 - debug: 4.3.7(supports-color@5.5.0) - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - /@babel/core@7.26.0: - resolution: {integrity: sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==} - engines: {node: '>=6.9.0'} - dependencies: - '@ampproject/remapping': 2.3.0 - '@babel/code-frame': 7.26.2 - '@babel/generator': 7.26.2 - '@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.2 - '@babel/template': 7.25.9 - '@babel/traverse': 7.25.9(supports-color@5.5.0) - '@babel/types': 7.26.0 + '@babel/traverse': 7.25.3(supports-color@5.5.0) + '@babel/types': 7.25.2 convert-source-map: 2.0.0 debug: 4.3.7(supports-color@5.5.0) gensync: 1.0.0-beta.2 @@ -1215,51 +1232,51 @@ packages: resolution: {integrity: sha512-oLcVCTeIFadUoArDTwpluncplrYBmTCCZZgXCbgNGvOBBiSDDK3eWO4b/+eOTli5tKv1lg+a5/NAXg+nTcei1w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.26.0 + '@babel/types': 7.22.10 jsesc: 2.5.2 source-map: 0.5.7 dev: true - /@babel/generator@7.25.0: - resolution: {integrity: sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw==} + /@babel/generator@7.23.4: + resolution: {integrity: sha512-esuS49Cga3HcThFNebGhlgsrVLkvhqvYDTzgjfFFlHJcIfLe5jFmRRfCQ1KuBfc4Jrtn3ndLgKWAKjBE+IraYQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.25.2 - '@jridgewell/gen-mapping': 0.3.5 + '@babel/types': 7.23.4 + '@jridgewell/gen-mapping': 0.3.3 '@jridgewell/trace-mapping': 0.3.25 jsesc: 2.5.2 dev: true - /@babel/generator@7.26.2: - resolution: {integrity: sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==} + /@babel/generator@7.24.5: + resolution: {integrity: sha512-x32i4hEXvr+iI0NEoEfDKzlemF8AmtOP8CcrRaEcpzysWuoEb1KknpcvMsHKPONoKZiDuItklgWhB18xEhr9PA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/parser': 7.26.2 - '@babel/types': 7.26.0 + '@babel/types': 7.24.5 '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 - jsesc: 3.0.2 + jsesc: 2.5.2 - /@babel/helper-annotate-as-pure@7.24.7: - resolution: {integrity: sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==} + /@babel/generator@7.25.0: + resolution: {integrity: sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.26.0 - dev: true + '@babel/types': 7.25.2 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 2.5.2 - /@babel/helper-annotate-as-pure@7.25.9: - resolution: {integrity: sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==} + /@babel/helper-annotate-as-pure@7.24.7: + resolution: {integrity: sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.26.0 - dev: false + '@babel/types': 7.25.2 /@babel/helper-builder-binary-assignment-operator-visitor@7.24.7: resolution: {integrity: sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/traverse': 7.25.9(supports-color@5.5.0) - '@babel/types': 7.26.0 + '@babel/traverse': 7.25.3(supports-color@5.5.0) + '@babel/types': 7.25.2 transitivePeerDependencies: - supports-color dev: true @@ -1274,16 +1291,6 @@ packages: lru-cache: 5.1.1 semver: 6.3.1 - /@babel/helper-compilation-targets@7.25.9: - resolution: {integrity: sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/compat-data': 7.26.2 - '@babel/helper-validator-option': 7.25.9 - browserslist: 4.24.2 - lru-cache: 5.1.1 - semver: 6.3.1 - /@babel/helper-create-class-features-plugin@7.25.0(@babel/core@7.24.5): resolution: {integrity: sha512-GYM6BxeQsETc9mnct+nIIpf63SAyzvyYN7UB/IlTyd+MBg06afFGp0mIeUqGyWgS2mxad6vqbMrHVlaL3m70sQ==} engines: {node: '>=6.9.0'} @@ -1296,7 +1303,7 @@ packages: '@babel/helper-optimise-call-expression': 7.24.7 '@babel/helper-replace-supers': 7.25.0(@babel/core@7.24.5) '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - '@babel/traverse': 7.25.9(supports-color@5.5.0) + '@babel/traverse': 7.25.3(supports-color@5.5.0) semver: 6.3.1 transitivePeerDependencies: - supports-color @@ -1332,48 +1339,36 @@ packages: /@babel/helper-environment-visitor@7.22.20: resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} engines: {node: '>=6.9.0'} - dev: true /@babel/helper-function-name@7.23.0: resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/template': 7.25.9 - '@babel/types': 7.26.0 - dev: true + '@babel/template': 7.24.0 + '@babel/types': 7.24.5 /@babel/helper-hoist-variables@7.22.5: resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.26.0 - dev: true + '@babel/types': 7.24.5 /@babel/helper-member-expression-to-functions@7.24.8: resolution: {integrity: sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/traverse': 7.25.9(supports-color@5.5.0) - '@babel/types': 7.26.0 + '@babel/traverse': 7.25.3(supports-color@5.5.0) + '@babel/types': 7.25.2 transitivePeerDependencies: - supports-color dev: true - /@babel/helper-module-imports@7.24.7: + /@babel/helper-module-imports@7.24.7(supports-color@5.5.0): resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/traverse': 7.25.9(supports-color@5.5.0) - '@babel/types': 7.26.0 - transitivePeerDependencies: - - supports-color - - /@babel/helper-module-imports@7.25.9(supports-color@5.5.0): - resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/traverse': 7.25.9(supports-color@5.5.0) - '@babel/types': 7.26.0 + '@babel/traverse': 7.25.3(supports-color@5.5.0) + '@babel/types': 7.25.2 transitivePeerDependencies: - supports-color @@ -1384,23 +1379,10 @@ packages: '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.24.5 - '@babel/helper-module-imports': 7.24.7 + '@babel/helper-module-imports': 7.24.7(supports-color@5.5.0) '@babel/helper-simple-access': 7.24.7 - '@babel/helper-validator-identifier': 7.25.9 - '@babel/traverse': 7.25.9(supports-color@5.5.0) - transitivePeerDependencies: - - supports-color - - /@babel/helper-module-transforms@7.26.0(@babel/core@7.26.0): - resolution: {integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.26.0 - '@babel/helper-module-imports': 7.25.9(supports-color@5.5.0) - '@babel/helper-validator-identifier': 7.25.9 - '@babel/traverse': 7.25.9(supports-color@5.5.0) + '@babel/helper-validator-identifier': 7.24.7 + '@babel/traverse': 7.25.3(supports-color@5.5.0) transitivePeerDependencies: - supports-color @@ -1408,24 +1390,18 @@ packages: resolution: {integrity: sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.26.0 + '@babel/types': 7.25.2 dev: true /@babel/helper-plugin-utils@7.24.7: resolution: {integrity: sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==} engines: {node: '>=6.9.0'} - dev: true /@babel/helper-plugin-utils@7.24.8: resolution: {integrity: sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==} engines: {node: '>=6.9.0'} dev: true - /@babel/helper-plugin-utils@7.25.9: - resolution: {integrity: sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==} - engines: {node: '>=6.9.0'} - dev: false - /@babel/helper-remap-async-to-generator@7.25.0(@babel/core@7.24.5): resolution: {integrity: sha512-NhavI2eWEIz/H9dbrG0TuOicDhNexze43i5z7lEqwYm0WEZVTwnPpA0EafUTP7+6/W79HWIP2cTe3Z5NiSTVpw==} engines: {node: '>=6.9.0'} @@ -1435,7 +1411,7 @@ packages: '@babel/core': 7.24.5 '@babel/helper-annotate-as-pure': 7.24.7 '@babel/helper-wrap-function': 7.25.0 - '@babel/traverse': 7.25.9(supports-color@5.5.0) + '@babel/traverse': 7.25.3(supports-color@5.5.0) transitivePeerDependencies: - supports-color dev: true @@ -1449,7 +1425,7 @@ packages: '@babel/core': 7.24.5 '@babel/helper-member-expression-to-functions': 7.24.8 '@babel/helper-optimise-call-expression': 7.24.7 - '@babel/traverse': 7.25.9(supports-color@5.5.0) + '@babel/traverse': 7.25.3(supports-color@5.5.0) transitivePeerDependencies: - supports-color dev: true @@ -1458,8 +1434,8 @@ packages: resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/traverse': 7.25.9(supports-color@5.5.0) - '@babel/types': 7.26.0 + '@babel/traverse': 7.25.3(supports-color@5.5.0) + '@babel/types': 7.25.2 transitivePeerDependencies: - supports-color @@ -1467,50 +1443,62 @@ packages: resolution: {integrity: sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/traverse': 7.25.9(supports-color@5.5.0) - '@babel/types': 7.26.0 + '@babel/traverse': 7.25.3(supports-color@5.5.0) + '@babel/types': 7.25.2 transitivePeerDependencies: - supports-color dev: true + /@babel/helper-split-export-declaration@7.22.6: + resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.4 + dev: true + /@babel/helper-split-export-declaration@7.24.5: resolution: {integrity: sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.26.0 + '@babel/types': 7.24.5 + + /@babel/helper-string-parser@7.22.5: + resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-string-parser@7.23.4: + resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} + engines: {node: '>=6.9.0'} dev: true + /@babel/helper-string-parser@7.24.1: + resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==} + engines: {node: '>=6.9.0'} + /@babel/helper-string-parser@7.24.8: resolution: {integrity: sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==} engines: {node: '>=6.9.0'} - /@babel/helper-string-parser@7.25.9: - resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} + /@babel/helper-validator-identifier@7.24.5: + resolution: {integrity: sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==} engines: {node: '>=6.9.0'} /@babel/helper-validator-identifier@7.24.7: resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} engines: {node: '>=6.9.0'} - /@babel/helper-validator-identifier@7.25.9: - resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} - engines: {node: '>=6.9.0'} - /@babel/helper-validator-option@7.24.8: resolution: {integrity: sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==} engines: {node: '>=6.9.0'} - /@babel/helper-validator-option@7.25.9: - resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==} - engines: {node: '>=6.9.0'} - /@babel/helper-wrap-function@7.25.0: resolution: {integrity: sha512-s6Q1ebqutSiZnEjaofc/UKDyC4SbzV5n5SrA2Gq8UawLycr3i04f1dX4OzoQVnexm6aOCh37SQNYlJ/8Ku+PMQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/template': 7.25.9 - '@babel/traverse': 7.25.9(supports-color@5.5.0) - '@babel/types': 7.26.0 + '@babel/template': 7.25.0 + '@babel/traverse': 7.25.3(supports-color@5.5.0) + '@babel/types': 7.25.2 transitivePeerDependencies: - supports-color dev: true @@ -1519,50 +1507,57 @@ packages: resolution: {integrity: sha512-CiQmBMMpMQHwM5m01YnrM6imUG1ebgYJ+fAIW4FZe6m4qHTPaRHti+R8cggAwkdz4oXhtO4/K9JWlh+8hIfR2Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/template': 7.25.9 - '@babel/traverse': 7.25.9(supports-color@5.5.0) - '@babel/types': 7.26.0 + '@babel/template': 7.24.0 + '@babel/traverse': 7.24.5 + '@babel/types': 7.24.5 transitivePeerDependencies: - supports-color - /@babel/helpers@7.26.0: - resolution: {integrity: sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.25.9 - '@babel/types': 7.26.0 - /@babel/highlight@7.24.5: resolution: {integrity: sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-validator-identifier': 7.25.9 + '@babel/helper-validator-identifier': 7.24.5 chalk: 2.4.2 js-tokens: 4.0.0 - picocolors: 1.1.1 + picocolors: 1.0.1 /@babel/highlight@7.24.7: resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-validator-identifier': 7.25.9 + '@babel/helper-validator-identifier': 7.24.7 chalk: 2.4.2 js-tokens: 4.0.0 - picocolors: 1.1.1 + picocolors: 1.0.1 - /@babel/parser@7.25.3: - resolution: {integrity: sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw==} + /@babel/parser@7.22.10: + resolution: {integrity: sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ==} + engines: {node: '>=6.0.0'} + dependencies: + '@babel/types': 7.22.10 + dev: true + + /@babel/parser@7.23.4: + resolution: {integrity: sha512-vf3Xna6UEprW+7t6EtOmFpHNAuxw3xqPZghy+brsnusscJRW5BMUzzHZc5ICjULee81WeUV2jjakG09MDglJXQ==} + engines: {node: '>=6.0.0'} + dependencies: + '@babel/types': 7.23.4 + dev: true + + /@babel/parser@7.24.5: + resolution: {integrity: sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg==} engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.26.0 + '@babel/types': 7.24.5 - /@babel/parser@7.26.2: - resolution: {integrity: sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==} + /@babel/parser@7.25.3: + resolution: {integrity: sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw==} engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.26.0 + '@babel/types': 7.25.2 /@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.25.3(@babel/core@7.24.5): resolution: {integrity: sha512-wUrcsxZg6rqBXG05HG1FPYgsP6EvwF4WpBbxIpWIIYnH8wG0gzx3yZY3dtEHas4sTAOGkbTsc9EGPxwff8lRoA==} @@ -1572,7 +1567,7 @@ packages: dependencies: '@babel/core': 7.24.5 '@babel/helper-plugin-utils': 7.24.8 - '@babel/traverse': 7.25.9(supports-color@5.5.0) + '@babel/traverse': 7.25.3(supports-color@5.5.0) transitivePeerDependencies: - supports-color dev: true @@ -1619,7 +1614,7 @@ packages: dependencies: '@babel/core': 7.24.5 '@babel/helper-plugin-utils': 7.24.8 - '@babel/traverse': 7.25.9(supports-color@5.5.0) + '@babel/traverse': 7.25.3(supports-color@5.5.0) transitivePeerDependencies: - supports-color dev: true @@ -1773,17 +1768,6 @@ packages: dependencies: '@babel/core': 7.24.5 '@babel/helper-plugin-utils': 7.24.7 - dev: true - - /@babel/plugin-syntax-jsx@7.25.9(@babel/core@7.24.5): - resolution: {integrity: sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.24.5 - '@babel/helper-plugin-utils': 7.25.9 - dev: false /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.5): resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} @@ -1900,7 +1884,7 @@ packages: '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-remap-async-to-generator': 7.25.0(@babel/core@7.24.5) '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.5) - '@babel/traverse': 7.25.9(supports-color@5.5.0) + '@babel/traverse': 7.25.3(supports-color@5.5.0) transitivePeerDependencies: - supports-color dev: true @@ -1912,7 +1896,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.24.5 - '@babel/helper-module-imports': 7.24.7 + '@babel/helper-module-imports': 7.24.7(supports-color@5.5.0) '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-remap-async-to-generator': 7.25.0(@babel/core@7.24.5) transitivePeerDependencies: @@ -1977,7 +1961,7 @@ packages: '@babel/helper-compilation-targets': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-replace-supers': 7.25.0(@babel/core@7.24.5) - '@babel/traverse': 7.25.9(supports-color@5.5.0) + '@babel/traverse': 7.25.3(supports-color@5.5.0) globals: 11.12.0 transitivePeerDependencies: - supports-color @@ -2104,7 +2088,7 @@ packages: '@babel/core': 7.24.5 '@babel/helper-compilation-targets': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 - '@babel/traverse': 7.25.9(supports-color@5.5.0) + '@babel/traverse': 7.25.3(supports-color@5.5.0) transitivePeerDependencies: - supports-color dev: true @@ -2187,8 +2171,8 @@ packages: '@babel/core': 7.24.5 '@babel/helper-module-transforms': 7.25.2(@babel/core@7.24.5) '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-validator-identifier': 7.25.9 - '@babel/traverse': 7.25.9(supports-color@5.5.0) + '@babel/helper-validator-identifier': 7.24.7 + '@babel/traverse': 7.25.3(supports-color@5.5.0) transitivePeerDependencies: - supports-color dev: true @@ -2378,10 +2362,10 @@ packages: dependencies: '@babel/core': 7.24.5 '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-module-imports': 7.24.7 + '@babel/helper-module-imports': 7.24.7(supports-color@5.5.0) '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.24.5) - '@babel/types': 7.26.0 + '@babel/types': 7.25.2 transitivePeerDependencies: - supports-color dev: true @@ -2425,7 +2409,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.24.5 - '@babel/helper-module-imports': 7.24.7 + '@babel/helper-module-imports': 7.24.7(supports-color@5.5.0) '@babel/helper-plugin-utils': 7.24.8 babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.24.5) babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.5) @@ -2648,7 +2632,7 @@ packages: dependencies: '@babel/core': 7.24.5 '@babel/helper-plugin-utils': 7.24.8 - '@babel/types': 7.26.0 + '@babel/types': 7.25.2 esutils: 2.0.3 dev: true @@ -2716,6 +2700,14 @@ packages: dependencies: regenerator-runtime: 0.14.1 + /@babel/template@7.24.0: + resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.24.2 + '@babel/parser': 7.24.5 + '@babel/types': 7.24.5 + /@babel/template@7.25.0: resolution: {integrity: sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==} engines: {node: '>=6.9.0'} @@ -2724,41 +2716,50 @@ packages: '@babel/parser': 7.25.3 '@babel/types': 7.25.2 - /@babel/template@7.25.9: - resolution: {integrity: sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==} + /@babel/traverse@7.23.2: + resolution: {integrity: sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.26.2 - '@babel/parser': 7.26.2 - '@babel/types': 7.26.0 + '@babel/code-frame': 7.24.2 + '@babel/generator': 7.23.4 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/parser': 7.23.4 + '@babel/types': 7.23.4 + debug: 4.3.7(supports-color@5.5.0) + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true - /@babel/traverse@7.23.2: - resolution: {integrity: sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==} + /@babel/traverse@7.24.5: + resolution: {integrity: sha512-7aaBLeDQ4zYcUFDUD41lJc1fG8+5IU9DaNSJAgal866FGvmD5EbWQgnEC6kO1gGLsX0esNkfnJSndbTXA3r7UA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.26.2 - '@babel/generator': 7.26.2 + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.24.5 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-hoist-variables': 7.22.5 '@babel/helper-split-export-declaration': 7.24.5 - '@babel/parser': 7.26.2 - '@babel/types': 7.26.0 + '@babel/parser': 7.24.5 + '@babel/types': 7.24.5 debug: 4.3.7(supports-color@5.5.0) globals: 11.12.0 transitivePeerDependencies: - supports-color - dev: true - /@babel/traverse@7.25.9(supports-color@5.5.0): - resolution: {integrity: sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==} + /@babel/traverse@7.25.3(supports-color@5.5.0): + resolution: {integrity: sha512-HefgyP1x754oGCsKmV5reSmtV7IXj/kpaE1XYY+D9G5PvKKoFfSbiS4M77MdjuwlZKDIKFCffq9rPU+H/s3ZdQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.26.2 - '@babel/generator': 7.26.2 - '@babel/parser': 7.26.2 - '@babel/template': 7.25.9 - '@babel/types': 7.26.0 + '@babel/code-frame': 7.24.7 + '@babel/generator': 7.25.0 + '@babel/parser': 7.25.3 + '@babel/template': 7.25.0 + '@babel/types': 7.25.2 debug: 4.3.7(supports-color@5.5.0) globals: 11.12.0 transitivePeerDependencies: @@ -2768,10 +2769,36 @@ packages: resolution: {integrity: sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-validator-identifier': 7.25.9 + '@babel/helper-validator-identifier': 7.24.5 + to-fast-properties: 2.0.0 + dev: true + + /@babel/types@7.22.10: + resolution: {integrity: sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.22.5 + '@babel/helper-validator-identifier': 7.24.5 + to-fast-properties: 2.0.0 + dev: true + + /@babel/types@7.23.4: + resolution: {integrity: sha512-7uIFwVYpoplT5jp/kVv6EF93VaJ8H+Yn5IczYiaAi98ajzjfoZfslet/e0sLh+wVBjb2qqIut1b0S26VSafsSQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.23.4 + '@babel/helper-validator-identifier': 7.24.5 to-fast-properties: 2.0.0 dev: true + /@babel/types@7.24.5: + resolution: {integrity: sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.24.1 + '@babel/helper-validator-identifier': 7.24.5 + to-fast-properties: 2.0.0 + /@babel/types@7.25.2: resolution: {integrity: sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q==} engines: {node: '>=6.9.0'} @@ -2780,13 +2807,6 @@ packages: '@babel/helper-validator-identifier': 7.24.7 to-fast-properties: 2.0.0 - /@babel/types@7.26.0: - resolution: {integrity: sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-string-parser': 7.25.9 - '@babel/helper-validator-identifier': 7.25.9 - /@bcoe/v8-coverage@0.2.3: resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} dev: true @@ -3010,12 +3030,6 @@ packages: '@cloudinary/url-gen': 1.14.0 dev: false - /@cloudinary/transformation-builder-sdk@1.16.1: - resolution: {integrity: sha512-Mh1qYMkoDxSAzbt0qY9NJaZrdH/vFBcrpeVWmbTXbPVDZHLaaLyJ2+RDFGger5lycbrehPLoNp2hh22BvhkvbQ==} - dependencies: - '@cloudinary/url-gen': 1.15.0 - dev: false - /@cloudinary/url-gen@1.14.0: resolution: {integrity: sha512-XbG8QgD5fkTUO/YYUWftfz3sUpKzRZJkXhp6xLSxmK/36iyMy2wA4SF5FLCOnv6fLLUneQzXbc4OAwaDM0EWCQ==} dependencies: @@ -3025,7 +3039,7 @@ packages: /@cloudinary/url-gen@1.15.0: resolution: {integrity: sha512-bjU67eZxLUgoRy/Plli4TQio7q6P31OYqnEgXxeN9TKXrzr6h0DeEdIUhKI9gy3HkEBWXWWJIPh7j7gkOJPnyA==} dependencies: - '@cloudinary/transformation-builder-sdk': 1.16.1 + '@cloudinary/transformation-builder-sdk': 1.10.0 dev: false /@colors/colors@1.5.0: @@ -3068,7 +3082,7 @@ packages: engines: {node: '>=12.0.0'} dependencies: '@types/buffer-from': 1.1.3 - '@types/node': 20.17.9 + '@types/node': 20.17.10 '@types/pako': 1.0.7 buffer-from: 1.1.2 cross-fetch: 3.1.8 @@ -3129,11 +3143,11 @@ packages: resolution: {integrity: sha512-d5RjycE+MObE/hU+8OM5Zp4VjTwiPLRa8299fj7muOmR16fb942z8byoMbCErnGh0lBevvgkGrLclQDvINbIyg==} dev: false - /@emnapi/runtime@1.3.1: - resolution: {integrity: sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==} + /@emnapi/runtime@1.2.0: + resolution: {integrity: sha512-bV21/9LQmcQeCPEg3BDFtvwL6cwiTMksYNWQQ4KOxCZikEGalWtenoZ0wCiukJINlGCIi2KXx01g4FoH/LxpzQ==} requiresBuild: true dependencies: - tslib: 2.8.1 + tslib: 2.7.0 dev: true optional: true @@ -3145,10 +3159,10 @@ packages: dev: false optional: true - /@emotion/is-prop-valid@1.3.1: - resolution: {integrity: sha512-/ACwoqx7XQi9knQs/G0qKvv5teDMhD7bXYns9N/wM8ah8iNb8jZ2uNO0YOgiq2o2poIvVtJS2YALasQuMSQ7Kw==} + /@emotion/is-prop-valid@1.2.2: + resolution: {integrity: sha512-uNsoYd37AFmaCdXlg6EYD1KaPOaRWRByMCYzbKUX4+hhMfrxdVSelShywL4JVaAeM/eHUOSprYBQls+/neX3pw==} dependencies: - '@emotion/memoize': 0.9.0 + '@emotion/memoize': 0.8.1 dev: false /@emotion/memoize@0.7.4: @@ -3157,8 +3171,8 @@ packages: dev: false optional: true - /@emotion/memoize@0.9.0: - resolution: {integrity: sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==} + /@emotion/memoize@0.8.1: + resolution: {integrity: sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==} dev: false /@emotion/stylis@0.8.5: @@ -3353,35 +3367,42 @@ packages: requiresBuild: true optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@9.16.0): + /@eslint-community/eslint-utils@4.4.0(eslint@9.17.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 9.16.0 + eslint: 9.17.0 eslint-visitor-keys: 3.4.3 dev: true + /@eslint-community/regexpp@4.11.0: + resolution: {integrity: sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + dev: true + /@eslint-community/regexpp@4.12.1: resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dev: true - /@eslint/config-array@0.19.0: - resolution: {integrity: sha512-zdHg2FPIFNKPdcHWtiNT+jEFCHYVplAXRDlQDyqy0zGx/q2parwh7brGJSiTxRk/TSMkbM//zt/f5CHgyTyaSQ==} + /@eslint/config-array@0.19.1: + resolution: {integrity: sha512-fo6Mtm5mWyKjA/Chy1BYTdn5mGJoDNjC7C64ug20ADsRDGrA85bN3uK3MaKbeRkRuuIEAR5N33Jr1pbm411/PA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dependencies: - '@eslint/object-schema': 2.1.4 + '@eslint/object-schema': 2.1.5 debug: 4.3.7(supports-color@5.5.0) minimatch: 3.1.2 transitivePeerDependencies: - supports-color dev: true - /@eslint/core@0.9.0: - resolution: {integrity: sha512-7ATR9F0e4W85D/0w7cU0SNj7qkAexMG+bAHEZOjo9akvGuhHE2m7umzWzfnpa0XAg5Kxc1BWmtPMV67jJ+9VUg==} + /@eslint/core@0.9.1: + resolution: {integrity: sha512-GuUdqkyyzQI5RMIWkHhvTWLCyLo1jNK3vzkSyaExH5kHPDHcuL2VOpHjmMY+y3+NC69qAKToBqldTBgYeLSr9Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + dependencies: + '@types/json-schema': 7.0.15 dev: true /@eslint/eslintrc@3.2.0: @@ -3401,18 +3422,18 @@ packages: - supports-color dev: true - /@eslint/js@9.16.0: - resolution: {integrity: sha512-tw2HxzQkrbeuvyj1tG2Yqq+0H9wGoI2IMk4EOsQeX+vmd75FtJAzf+gTA69WF+baUKRYQ3x2kbLE08js5OsTVg==} + /@eslint/js@9.17.0: + resolution: {integrity: sha512-Sxc4hqcs1kTu0iID3kcZDW3JHq2a77HO9P8CP6YEA/FpH3Ll8UXE2r/86Rz9YJLKme39S9vU5OWNjC6Xl0Cr3w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dev: true - /@eslint/object-schema@2.1.4: - resolution: {integrity: sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==} + /@eslint/object-schema@2.1.5: + resolution: {integrity: sha512-o0bhxnL89h5Bae5T318nFoFzGy+YE5i/gGkoPAgkmTVdRKTiv3p8JHevPiPaMwoloKfEiiaHlawCqaZMqRm+XQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dev: true - /@eslint/plugin-kit@0.2.3: - resolution: {integrity: sha512-2b/g5hRmpbb1o4GnTZax9N9m0FXzz9OV42ZzI4rDDMDuHUqigAiQCEWChBWCY4ztAGVRjoWT19v0yMmc5/L5kA==} + /@eslint/plugin-kit@0.2.4: + resolution: {integrity: sha512-zSkKow6H5Kdm0ZUQUB2kV5JIXqoG0+uH5YADhaEHswm664N9Db8dXSi0nMJpacpMf+MyyglF1vnZohpEg5yUtg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dependencies: levn: 0.4.1 @@ -3429,30 +3450,28 @@ packages: marked: 12.0.2 dev: true + /@faker-js/faker@9.3.0: + resolution: {integrity: sha512-r0tJ3ZOkMd9xsu3VRfqlFR6cz0V/jFYRswAIpC+m/DIfAUXq7g8N7wTAlhSANySXYGKzGryfDXwtwsY8TxEIDw==} + engines: {node: '>=18.0.0', npm: '>=9.0.0'} + dev: false + /@fastify/busboy@2.1.1: resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==} engines: {node: '>=14'} - /@floating-ui/core@1.6.8: - resolution: {integrity: sha512-7XJ9cPU+yI2QeLS+FCSlqNFZJq8arvswefkZrYI1yQBbftw6FyrZOxYSh+9S7z7TpeWlRt9zJ5IhM1WIL334jA==} + /@floating-ui/core@1.4.1: + resolution: {integrity: sha512-jk3WqquEJRlcyu7997NtR5PibI+y5bi+LS3hPmguVClypenMsCY3CBa3LAQnozRCtCrYWSEtAdiskpamuJRFOQ==} dependencies: - '@floating-ui/utils': 0.2.8 + '@floating-ui/utils': 0.1.1 dev: false /@floating-ui/dom@1.5.1: resolution: {integrity: sha512-KwvVcPSXg6mQygvA1TjbN/gh///36kKtllIF8SUm0qpFj8+rvYrpvlYdL1JoA71SHpDqgSSdGOSoQ0Mp3uY5aw==} dependencies: - '@floating-ui/core': 1.6.8 + '@floating-ui/core': 1.4.1 '@floating-ui/utils': 0.1.1 dev: false - /@floating-ui/dom@1.6.12: - resolution: {integrity: sha512-NP83c0HjokcGVEMeoStg317VD9W7eDlGK7457dMBANbKA6GJZdc7rjujdgqzTaz93jkGgc5P/jeWbaCHnMNc+w==} - dependencies: - '@floating-ui/core': 1.6.8 - '@floating-ui/utils': 0.2.8 - dev: false - /@floating-ui/react-dom@2.0.1(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-rZtAmSht4Lry6gdhAJDrCp/6rKN7++JnL1/Anbr/DdeyYXQPxvg/ivrbYvJulbRf4vL8b212suwMM2lxbv+RQA==} peerDependencies: @@ -3464,25 +3483,10 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: false - /@floating-ui/react-dom@2.1.2(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-06okr5cgPzMNBy+Ycse2A6udMi4bqwW/zgBF/rwjcNqWkyr82Mcg8b0vjX8OJpZFy/FKjJmw6wV7t44kK6kW7A==} - peerDependencies: - react: '>=16.8.0' - react-dom: '>=16.8.0' - dependencies: - '@floating-ui/dom': 1.6.12 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - dev: false - /@floating-ui/utils@0.1.1: resolution: {integrity: sha512-m0G6wlnhm/AX0H12IOWtK8gASEMffnX08RtKkCgTdHb9JpHKGloI7icFfLg9ZmQeavcvR0PKmzxClyuFPSjKWw==} dev: false - /@floating-ui/utils@0.2.8: - resolution: {integrity: sha512-kym7SodPp8/wloecOpcmSnWJsK7M0E5Wg8UcFA+uO4B9s5d0ywXOEro/8HM9x0rW+TljRzul/14UYz3TleT3ig==} - dev: false - /@fontsource/lexend@5.0.12: resolution: {integrity: sha512-UYeg7ob8WAr+ZIlkACIGvCcGx9yhcWPTKU8JtX7QLYtkrO628L8qRIjHmM2g8l4wmM2QHwWQMhmh01qSnB2aYw==} dev: false @@ -3571,7 +3575,7 @@ packages: tslib: 2.6.2 dev: true - /@graphql-codegen/cli@5.0.2(@types/node@20.17.9)(graphql@16.9.0)(typescript@5.7.2): + /@graphql-codegen/cli@5.0.2(@types/node@20.17.10)(graphql@16.9.0)(typescript@5.7.2): resolution: {integrity: sha512-MBIaFqDiLKuO4ojN6xxG9/xL9wmfD3ZjZ7RsPjwQnSHBCUXnEkdKvX+JVpx87Pq29Ycn8wTJUguXnTZ7Di0Mlw==} hasBin: true peerDependencies: @@ -3590,12 +3594,12 @@ packages: '@graphql-tools/apollo-engine-loader': 8.0.1(graphql@16.9.0) '@graphql-tools/code-file-loader': 8.1.3(graphql@16.9.0) '@graphql-tools/git-loader': 8.0.7(graphql@16.9.0) - '@graphql-tools/github-loader': 8.0.1(@types/node@20.17.9)(graphql@16.9.0) + '@graphql-tools/github-loader': 8.0.1(@types/node@20.17.10)(graphql@16.9.0) '@graphql-tools/graphql-file-loader': 8.0.1(graphql@16.9.0) '@graphql-tools/json-file-loader': 8.0.1(graphql@16.9.0) '@graphql-tools/load': 8.0.2(graphql@16.9.0) - '@graphql-tools/prisma-loader': 8.0.4(@types/node@20.17.9)(graphql@16.9.0) - '@graphql-tools/url-loader': 8.0.2(@types/node@20.17.9)(graphql@16.9.0) + '@graphql-tools/prisma-loader': 8.0.4(@types/node@20.17.10)(graphql@16.9.0) + '@graphql-tools/url-loader': 8.0.2(@types/node@20.17.10)(graphql@16.9.0) '@graphql-tools/utils': 10.5.4(graphql@16.9.0) '@whatwg-node/fetch': 0.8.8 chalk: 4.1.2 @@ -3603,7 +3607,7 @@ packages: debounce: 1.2.1 detect-indent: 6.1.0 graphql: 16.9.0 - graphql-config: 5.1.2(@types/node@20.17.9)(graphql@16.9.0)(typescript@5.7.2) + graphql-config: 5.1.2(@types/node@20.17.10)(graphql@16.9.0)(typescript@5.7.2) inquirer: 8.2.6 is-glob: 4.0.3 jiti: 1.21.6 @@ -3798,7 +3802,7 @@ packages: '@graphql-tools/utils': 10.5.4(graphql@16.9.0) dataloader: 2.2.2 graphql: 16.9.0 - tslib: 2.8.1 + tslib: 2.7.0 value-or-promise: 1.0.12 dev: true @@ -3863,7 +3867,7 @@ packages: - utf-8-validate dev: true - /@graphql-tools/executor-http@1.1.6(@types/node@20.17.9)(graphql@16.9.0): + /@graphql-tools/executor-http@1.1.6(@types/node@20.17.10)(graphql@16.9.0): resolution: {integrity: sha512-wGKjJzbi6em8cWI3sry6T7kAgoxMXYNM+KlbsWczPvIsHvv1cqXlrP1lwC6f7Ja1FfWdU1ZIEgOv93ext7IDyQ==} engines: {node: '>=16.0.0'} peerDependencies: @@ -3874,7 +3878,7 @@ packages: '@whatwg-node/fetch': 0.9.21 extract-files: 11.0.0 graphql: 16.9.0 - meros: 1.3.0(@types/node@20.17.9) + meros: 1.3.0(@types/node@20.17.10) tslib: 2.7.0 value-or-promise: 1.0.12 transitivePeerDependencies: @@ -3908,7 +3912,7 @@ packages: '@graphql-typed-document-node/core': 3.2.0(graphql@16.9.0) '@repeaterjs/repeater': 3.0.6 graphql: 16.9.0 - tslib: 2.8.1 + tslib: 2.7.0 value-or-promise: 1.0.12 dev: true @@ -3929,14 +3933,14 @@ packages: - supports-color dev: true - /@graphql-tools/github-loader@8.0.1(@types/node@20.17.9)(graphql@16.9.0): + /@graphql-tools/github-loader@8.0.1(@types/node@20.17.10)(graphql@16.9.0): resolution: {integrity: sha512-W4dFLQJ5GtKGltvh/u1apWRFKBQOsDzFxO9cJkOYZj1VzHCpRF43uLST4VbCfWve+AwBqOuKr7YgkHoxpRMkcg==} engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: '@ardatan/sync-fetch': 0.0.1 - '@graphql-tools/executor-http': 1.1.6(@types/node@20.17.9)(graphql@16.9.0) + '@graphql-tools/executor-http': 1.1.6(@types/node@20.17.10)(graphql@16.9.0) '@graphql-tools/graphql-tag-pluck': 8.3.2(graphql@16.9.0) '@graphql-tools/utils': 10.5.4(graphql@16.9.0) '@whatwg-node/fetch': 0.9.21 @@ -3970,10 +3974,10 @@ packages: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: '@babel/core': 7.24.5 - '@babel/parser': 7.26.2 + '@babel/parser': 7.25.3 '@babel/plugin-syntax-import-assertions': 7.24.7(@babel/core@7.24.5) - '@babel/traverse': 7.25.9(supports-color@5.5.0) - '@babel/types': 7.26.0 + '@babel/traverse': 7.25.3(supports-color@5.5.0) + '@babel/types': 7.25.2 '@graphql-tools/utils': 10.5.4(graphql@16.9.0) graphql: 16.9.0 tslib: 2.7.0 @@ -4040,13 +4044,13 @@ packages: tslib: 2.7.0 dev: true - /@graphql-tools/prisma-loader@8.0.4(@types/node@20.17.9)(graphql@16.9.0): + /@graphql-tools/prisma-loader@8.0.4(@types/node@20.17.10)(graphql@16.9.0): resolution: {integrity: sha512-hqKPlw8bOu/GRqtYr0+dINAI13HinTVYBDqhwGAPIFmLr5s+qKskzgCiwbsckdrb5LWVFmVZc+UXn80OGiyBzg==} engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/url-loader': 8.0.2(@types/node@20.17.9)(graphql@16.9.0) + '@graphql-tools/url-loader': 8.0.2(@types/node@20.17.10)(graphql@16.9.0) '@graphql-tools/utils': 10.5.4(graphql@16.9.0) '@types/js-yaml': 4.0.9 '@whatwg-node/fetch': 0.9.21 @@ -4099,7 +4103,7 @@ packages: value-or-promise: 1.0.12 dev: true - /@graphql-tools/url-loader@8.0.2(@types/node@20.17.9)(graphql@16.9.0): + /@graphql-tools/url-loader@8.0.2(@types/node@20.17.10)(graphql@16.9.0): resolution: {integrity: sha512-1dKp2K8UuFn7DFo1qX5c1cyazQv2h2ICwA9esHblEqCYrgf69Nk8N7SODmsfWg94OEaI74IqMoM12t7eIGwFzQ==} engines: {node: '>=16.0.0'} peerDependencies: @@ -4108,7 +4112,7 @@ packages: '@ardatan/sync-fetch': 0.0.1 '@graphql-tools/delegate': 10.0.21(graphql@16.9.0) '@graphql-tools/executor-graphql-ws': 1.2.0(graphql@16.9.0) - '@graphql-tools/executor-http': 1.1.6(@types/node@20.17.9)(graphql@16.9.0) + '@graphql-tools/executor-http': 1.1.6(@types/node@20.17.10)(graphql@16.9.0) '@graphql-tools/executor-legacy-ws': 1.1.0(graphql@16.9.0) '@graphql-tools/utils': 10.5.4(graphql@16.9.0) '@graphql-tools/wrap': 10.0.5(graphql@16.9.0) @@ -4215,203 +4219,211 @@ packages: engines: {node: '>=18.18'} dev: true - /@img/sharp-darwin-arm64@0.33.5: - resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + /@img/sharp-darwin-arm64@0.33.4: + resolution: {integrity: sha512-p0suNqXufJs9t3RqLBO6vvrgr5OhgbWp76s5gTRvdmxmuv9E1rcaqGUsl3l4mKVmXPkTkTErXediAui4x+8PSA==} + engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} cpu: [arm64] os: [darwin] requiresBuild: true optionalDependencies: - '@img/sharp-libvips-darwin-arm64': 1.0.4 + '@img/sharp-libvips-darwin-arm64': 1.0.2 dev: true optional: true - /@img/sharp-darwin-x64@0.33.5: - resolution: {integrity: sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + /@img/sharp-darwin-x64@0.33.4: + resolution: {integrity: sha512-0l7yRObwtTi82Z6ebVI2PnHT8EB2NxBgpK2MiKJZJ7cz32R4lxd001ecMhzzsZig3Yv9oclvqqdV93jo9hy+Dw==} + engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} cpu: [x64] os: [darwin] requiresBuild: true optionalDependencies: - '@img/sharp-libvips-darwin-x64': 1.0.4 + '@img/sharp-libvips-darwin-x64': 1.0.2 dev: true optional: true - /@img/sharp-libvips-darwin-arm64@1.0.4: - resolution: {integrity: sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==} + /@img/sharp-libvips-darwin-arm64@1.0.2: + resolution: {integrity: sha512-tcK/41Rq8IKlSaKRCCAuuY3lDJjQnYIW1UXU1kxcEKrfL8WR7N6+rzNoOxoQRJWTAECuKwgAHnPvqXGN8XfkHA==} + engines: {macos: '>=11', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} cpu: [arm64] os: [darwin] requiresBuild: true dev: true optional: true - /@img/sharp-libvips-darwin-x64@1.0.4: - resolution: {integrity: sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==} + /@img/sharp-libvips-darwin-x64@1.0.2: + resolution: {integrity: sha512-Ofw+7oaWa0HiiMiKWqqaZbaYV3/UGL2wAPeLuJTx+9cXpCRdvQhCLG0IH8YGwM0yGWGLpsF4Su9vM1o6aer+Fw==} + engines: {macos: '>=10.13', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} cpu: [x64] os: [darwin] requiresBuild: true dev: true optional: true - /@img/sharp-libvips-linux-arm64@1.0.4: - resolution: {integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==} + /@img/sharp-libvips-linux-arm64@1.0.2: + resolution: {integrity: sha512-x7kCt3N00ofFmmkkdshwj3vGPCnmiDh7Gwnd4nUwZln2YjqPxV1NlTyZOvoDWdKQVDL911487HOueBvrpflagw==} + engines: {glibc: '>=2.26', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /@img/sharp-libvips-linux-arm@1.0.5: - resolution: {integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==} + /@img/sharp-libvips-linux-arm@1.0.2: + resolution: {integrity: sha512-iLWCvrKgeFoglQxdEwzu1eQV04o8YeYGFXtfWU26Zr2wWT3q3MTzC+QTCO3ZQfWd3doKHT4Pm2kRmLbupT+sZw==} + engines: {glibc: '>=2.28', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} cpu: [arm] os: [linux] requiresBuild: true dev: true optional: true - /@img/sharp-libvips-linux-s390x@1.0.4: - resolution: {integrity: sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==} + /@img/sharp-libvips-linux-s390x@1.0.2: + resolution: {integrity: sha512-cmhQ1J4qVhfmS6szYW7RT+gLJq9dH2i4maq+qyXayUSn9/3iY2ZeWpbAgSpSVbV2E1JUL2Gg7pwnYQ1h8rQIog==} + engines: {glibc: '>=2.28', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} cpu: [s390x] os: [linux] requiresBuild: true dev: true optional: true - /@img/sharp-libvips-linux-x64@1.0.4: - resolution: {integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==} + /@img/sharp-libvips-linux-x64@1.0.2: + resolution: {integrity: sha512-E441q4Qdb+7yuyiADVi5J+44x8ctlrqn8XgkDTwr4qPJzWkaHwD489iZ4nGDgcuya4iMN3ULV6NwbhRZJ9Z7SQ==} + engines: {glibc: '>=2.26', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /@img/sharp-libvips-linuxmusl-arm64@1.0.4: - resolution: {integrity: sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==} + /@img/sharp-libvips-linuxmusl-arm64@1.0.2: + resolution: {integrity: sha512-3CAkndNpYUrlDqkCM5qhksfE+qSIREVpyoeHIU6jd48SJZViAmznoQQLAv4hVXF7xyUB9zf+G++e2v1ABjCbEQ==} + engines: {musl: '>=1.2.2', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /@img/sharp-libvips-linuxmusl-x64@1.0.4: - resolution: {integrity: sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==} + /@img/sharp-libvips-linuxmusl-x64@1.0.2: + resolution: {integrity: sha512-VI94Q6khIHqHWNOh6LLdm9s2Ry4zdjWJwH56WoiJU7NTeDwyApdZZ8c+SADC8OH98KWNQXnE01UdJ9CSfZvwZw==} + engines: {musl: '>=1.2.2', npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /@img/sharp-linux-arm64@0.33.5: - resolution: {integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + /@img/sharp-linux-arm64@0.33.4: + resolution: {integrity: sha512-2800clwVg1ZQtxwSoTlHvtm9ObgAax7V6MTAB/hDT945Tfyy3hVkmiHpeLPCKYqYR1Gcmv1uDZ3a4OFwkdBL7Q==} + engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} cpu: [arm64] os: [linux] requiresBuild: true optionalDependencies: - '@img/sharp-libvips-linux-arm64': 1.0.4 + '@img/sharp-libvips-linux-arm64': 1.0.2 dev: true optional: true - /@img/sharp-linux-arm@0.33.5: - resolution: {integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + /@img/sharp-linux-arm@0.33.4: + resolution: {integrity: sha512-RUgBD1c0+gCYZGCCe6mMdTiOFS0Zc/XrN0fYd6hISIKcDUbAW5NtSQW9g/powkrXYm6Vzwd6y+fqmExDuCdHNQ==} + engines: {glibc: '>=2.28', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} cpu: [arm] os: [linux] requiresBuild: true optionalDependencies: - '@img/sharp-libvips-linux-arm': 1.0.5 + '@img/sharp-libvips-linux-arm': 1.0.2 dev: true optional: true - /@img/sharp-linux-s390x@0.33.5: - resolution: {integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + /@img/sharp-linux-s390x@0.33.4: + resolution: {integrity: sha512-h3RAL3siQoyzSoH36tUeS0PDmb5wINKGYzcLB5C6DIiAn2F3udeFAum+gj8IbA/82+8RGCTn7XW8WTFnqag4tQ==} + engines: {glibc: '>=2.31', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} cpu: [s390x] os: [linux] requiresBuild: true optionalDependencies: - '@img/sharp-libvips-linux-s390x': 1.0.4 + '@img/sharp-libvips-linux-s390x': 1.0.2 dev: true optional: true - /@img/sharp-linux-x64@0.33.5: - resolution: {integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + /@img/sharp-linux-x64@0.33.4: + resolution: {integrity: sha512-GoR++s0XW9DGVi8SUGQ/U4AeIzLdNjHka6jidVwapQ/JebGVQIpi52OdyxCNVRE++n1FCLzjDovJNozif7w/Aw==} + engines: {glibc: '>=2.26', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} cpu: [x64] os: [linux] requiresBuild: true optionalDependencies: - '@img/sharp-libvips-linux-x64': 1.0.4 + '@img/sharp-libvips-linux-x64': 1.0.2 dev: true optional: true - /@img/sharp-linuxmusl-arm64@0.33.5: - resolution: {integrity: sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + /@img/sharp-linuxmusl-arm64@0.33.4: + resolution: {integrity: sha512-nhr1yC3BlVrKDTl6cO12gTpXMl4ITBUZieehFvMntlCXFzH2bvKG76tBL2Y/OqhupZt81pR7R+Q5YhJxW0rGgQ==} + engines: {musl: '>=1.2.2', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} cpu: [arm64] os: [linux] requiresBuild: true optionalDependencies: - '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 + '@img/sharp-libvips-linuxmusl-arm64': 1.0.2 dev: true optional: true - /@img/sharp-linuxmusl-x64@0.33.5: - resolution: {integrity: sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + /@img/sharp-linuxmusl-x64@0.33.4: + resolution: {integrity: sha512-uCPTku0zwqDmZEOi4ILyGdmW76tH7dm8kKlOIV1XC5cLyJ71ENAAqarOHQh0RLfpIpbV5KOpXzdU6XkJtS0daw==} + engines: {musl: '>=1.2.2', node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} cpu: [x64] os: [linux] requiresBuild: true optionalDependencies: - '@img/sharp-libvips-linuxmusl-x64': 1.0.4 + '@img/sharp-libvips-linuxmusl-x64': 1.0.2 dev: true optional: true - /@img/sharp-wasm32@0.33.5: - resolution: {integrity: sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + /@img/sharp-wasm32@0.33.4: + resolution: {integrity: sha512-Bmmauh4sXUsUqkleQahpdNXKvo+wa1V9KhT2pDA4VJGKwnKMJXiSTGphn0gnJrlooda0QxCtXc6RX1XAU6hMnQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} cpu: [wasm32] requiresBuild: true dependencies: - '@emnapi/runtime': 1.3.1 + '@emnapi/runtime': 1.2.0 dev: true optional: true - /@img/sharp-win32-ia32@0.33.5: - resolution: {integrity: sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + /@img/sharp-win32-ia32@0.33.4: + resolution: {integrity: sha512-99SJ91XzUhYHbx7uhK3+9Lf7+LjwMGQZMDlO/E/YVJ7Nc3lyDFZPGhjwiYdctoH2BOzW9+TnfqcaMKt0jHLdqw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} cpu: [ia32] os: [win32] requiresBuild: true dev: true optional: true - /@img/sharp-win32-x64@0.33.5: - resolution: {integrity: sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + /@img/sharp-win32-x64@0.33.4: + resolution: {integrity: sha512-3QLocdTRVIrFNye5YocZl+KKpYKP+fksi1QhmOArgx7GyhIbQp/WrJRu176jm8IxromS7RIkzMiMINVdBtC8Aw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0, npm: '>=9.6.5', pnpm: '>=7.1.0', yarn: '>=3.2.0'} cpu: [x64] os: [win32] requiresBuild: true dev: true optional: true - /@inquirer/confirm@5.0.2(@types/node@20.17.9): + /@inquirer/confirm@5.0.2(@types/node@20.17.10): resolution: {integrity: sha512-KJLUHOaKnNCYzwVbryj3TNBxyZIrr56fR5N45v6K9IPrbT6B7DcudBMfylkV1A8PUdJE15mybkEQyp2/ZUpxUA==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' dependencies: - '@inquirer/core': 10.1.0(@types/node@20.17.9) - '@inquirer/type': 3.0.1(@types/node@20.17.9) - '@types/node': 20.17.9 + '@inquirer/core': 10.1.0(@types/node@20.17.10) + '@inquirer/type': 3.0.1(@types/node@20.17.10) + '@types/node': 20.17.10 dev: true - /@inquirer/core@10.1.0(@types/node@20.17.9): + /@inquirer/core@10.1.0(@types/node@20.17.10): resolution: {integrity: sha512-I+ETk2AL+yAVbvuKx5AJpQmoaWhpiTFOg/UJb7ZkMAK4blmtG8ATh5ct+T/8xNld0CZG/2UhtkdMwpgvld92XQ==} engines: {node: '>=18'} dependencies: '@inquirer/figures': 1.0.8 - '@inquirer/type': 3.0.1(@types/node@20.17.9) + '@inquirer/type': 3.0.1(@types/node@20.17.10) ansi-escapes: 4.3.2 cli-width: 4.1.0 mute-stream: 2.0.0 @@ -4428,13 +4440,13 @@ packages: engines: {node: '>=18'} dev: true - /@inquirer/type@3.0.1(@types/node@20.17.9): + /@inquirer/type@3.0.1(@types/node@20.17.10): resolution: {integrity: sha512-+ksJMIy92sOAiAccGpcKZUc3bYO07cADnscIxHBknEm3uNts3movSmBofc1908BNy5edKscxYeAdaX1NXkHS6A==} engines: {node: '>=18'} peerDependencies: '@types/node': '>=18' dependencies: - '@types/node': 20.17.9 + '@types/node': 20.17.10 dev: true /@isaacs/cliui@8.0.2: @@ -4470,7 +4482,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.17.9 + '@types/node': 20.17.10 chalk: 4.1.2 jest-message-util: 29.7.0 jest-util: 29.7.0 @@ -4491,14 +4503,14 @@ packages: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.17.9 + '@types/node': 20.17.10 ansi-escapes: 4.3.2 chalk: 4.1.2 ci-info: 3.9.0 exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@20.17.9)(ts-node@10.9.2) + jest-config: 29.7.0(@types/node@20.17.10)(ts-node@10.9.2) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -4526,7 +4538,7 @@ packages: dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.17.9 + '@types/node': 20.17.10 jest-mock: 29.7.0 /@jest/expect-utils@29.7.0: @@ -4551,7 +4563,7 @@ packages: dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 - '@types/node': 20.17.9 + '@types/node': 20.17.10 jest-message-util: 29.7.0 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -4583,7 +4595,7 @@ packages: '@jest/transform': 29.7.0 '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.25 - '@types/node': 20.17.9 + '@types/node': 20.17.10 chalk: 4.1.2 collect-v8-coverage: 1.0.2 exit: 0.1.2 @@ -4670,7 +4682,7 @@ packages: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 20.17.9 + '@types/node': 20.17.10 '@types/yargs': 17.0.32 chalk: 4.1.2 @@ -4711,14 +4723,11 @@ packages: /@jridgewell/sourcemap-codec@1.4.15: resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - /@jridgewell/sourcemap-codec@1.5.0: - resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} - /@jridgewell/trace-mapping@0.3.19: resolution: {integrity: sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==} dependencies: '@jridgewell/resolve-uri': 3.1.1 - '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/sourcemap-codec': 1.4.15 /@jridgewell/trace-mapping@0.3.25: resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} @@ -4730,7 +4739,7 @@ packages: resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} dependencies: '@jridgewell/resolve-uri': 3.1.1 - '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/sourcemap-codec': 1.4.15 /@kamilkisiela/fast-url-parser@1.1.4: resolution: {integrity: sha512-gbkePEBupNydxCelHCESvFSFM8XPh1Zs/OAVRW/rKpEqPAl5PbOM90Si8mv9bvnR53uPD2s/FiRxdvSejpRJew==} @@ -5153,6 +5162,12 @@ packages: fast-glob: 3.3.1 dev: true + /@next/eslint-plugin-next@15.1.1: + resolution: {integrity: sha512-yACipsS2HI9ktcfz/1UsO0/sDbVjXWKDE/fzzMLnYES+K4KJyqHChyBQeaxiK7/NDnxrdk7Ow2i9LRm3ZTAWow==} + dependencies: + fast-glob: 3.3.1 + dev: true + /@next/swc-darwin-arm64@14.2.18: resolution: {integrity: sha512-tOBlDHCjGdyLf0ube/rDUs6VtwNOajaWV+5FV/ajPgrvHeisllEdymY/oDgv2cx561+gJksfMUtqf8crug7sbA==} engines: {node: '>= 10'} @@ -5225,6 +5240,11 @@ packages: requiresBuild: true optional: true + /@noble/hashes@1.5.0: + resolution: {integrity: sha512-1j6kQFb7QRru7eKN3ZDvRcP13rugwdxZqCjbiAVZfIJwgj2A65UmT4TgARXGlXgnRkORLTDTrO19ZErt7+QXgA==} + engines: {node: ^14.21.3 || >=16} + dev: false + /@nodelib/fs.scandir@2.1.5: resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -5467,16 +5487,6 @@ packages: '@opentelemetry/semantic-conventions': 1.27.0 dev: false - /@opentelemetry/core@1.28.0(@opentelemetry/api@1.9.0): - resolution: {integrity: sha512-ZLwRMV+fNDpVmF2WYUdBHlq0eOWtEaUJSusrzjGnBt7iSRvfjFE3RXYUZJrqou/wIDWV0DwQ5KIfYe9WXg9Xqw==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.10.0' - dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/semantic-conventions': 1.27.0 - dev: false - /@opentelemetry/instrumentation-amqplib@0.42.0(@opentelemetry/api@1.9.0): resolution: {integrity: sha512-fiuU6OKsqHJiydHWgTRQ7MnIrJ2lEqsdgFtNIH4LbAUJl/5XmrIeoDzDnox+hfkgWK65jsleFuQDtYb5hW1koQ==} engines: {node: '>=14'} @@ -5838,17 +5848,6 @@ packages: '@opentelemetry/semantic-conventions': 1.27.0 dev: false - /@opentelemetry/resources@1.28.0(@opentelemetry/api@1.9.0): - resolution: {integrity: sha512-cIyXSVJjGeTICENN40YSvLDAq4Y2502hGK3iN7tfdynQLKWb3XWZQEkPc+eSx47kiy11YeFAlYkEfXwR1w8kfw==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.10.0' - dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 1.28.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.27.0 - dev: false - /@opentelemetry/sdk-metrics@1.25.1(@opentelemetry/api@1.9.0): resolution: {integrity: sha512-9Mb7q5ioFL4E4dDrc4wC/A3NTHDat44v4I3p2pLPSxRvqUbDIQyMVr9uK+EU69+HWhlET1VaSrRzwdckWqY15Q==} engines: {node: '>=14'} @@ -5873,18 +5872,6 @@ packages: '@opentelemetry/semantic-conventions': 1.27.0 dev: false - /@opentelemetry/sdk-trace-base@1.28.0(@opentelemetry/api@1.9.0): - resolution: {integrity: sha512-ceUVWuCpIao7Y5xE02Xs3nQi0tOGmMea17ecBdwtCvdo9ekmO+ijc9RFDgfifMl7XCBf41zne/1POM3LqSTZDA==} - engines: {node: '>=14'} - peerDependencies: - '@opentelemetry/api': '>=1.0.0 <1.10.0' - dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 1.28.0(@opentelemetry/api@1.9.0) - '@opentelemetry/resources': 1.28.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.27.0 - dev: false - /@opentelemetry/semantic-conventions@1.25.1: resolution: {integrity: sha512-ZDjMJJQRlyk8A1KZFCc+bCbsyrn1wTwdNt56F7twdfUfnHUZUq77/WfONCj8p72NZOyP7pNTdUWSTYC3GTbuuQ==} engines: {node: '>=14'} @@ -5905,19 +5892,25 @@ packages: '@opentelemetry/core': 1.26.0(@opentelemetry/api@1.9.0) dev: false + /@paralleldrive/cuid2@2.2.2: + resolution: {integrity: sha512-ZOBkgDwEdoYVlSeRbYYXs0S9MejQofiVYoTbKzy/6GQa39/q5tQU2IX46+shYnUkpEl3wc+J6wRlar7r2EK2xA==} + dependencies: + '@noble/hashes': 1.5.0 + dev: false + /@peculiar/asn1-schema@2.3.13: resolution: {integrity: sha512-3Xq3a01WkHRZL8X04Zsfg//mGaA21xlL4tlVn4v2xGT0JStiztATRkMwa5b+f/HXmY2smsiLXYK46Gwgzvfg3g==} dependencies: asn1js: 3.0.5 pvtsutils: 1.3.5 - tslib: 2.8.1 + tslib: 2.7.0 dev: true /@peculiar/json-schema@1.1.12: resolution: {integrity: sha512-coUfuoMeIB7B8/NMekxaDzLhaYmp0HZNPEjYRm9goRou8UZIC3z21s0sL9AWoCw4EG876QyO3kYrc61WNF9B/w==} engines: {node: '>=8.0.0'} dependencies: - tslib: 2.8.1 + tslib: 2.7.0 dev: true /@peculiar/webcrypto@1.5.0: @@ -5947,12 +5940,12 @@ packages: resolution: {integrity: sha512-wfzX8kc1PMyUILA+1Z/EqoE4UCXGy0iRGMhPwdfae1+f0OXlLqCk+By+aMzgJBzR9AzS4CDizioG6Ss1gvAFJw==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} dependencies: - cross-spawn: 7.0.6 + cross-spawn: 7.0.3 is-glob: 4.0.3 open: 8.4.0 - picocolors: 1.1.1 + picocolors: 1.0.1 tiny-glob: 0.2.9 - tslib: 2.8.1 + tslib: 2.7.0 dev: true /@playwright/test@1.47.2: @@ -5962,7 +5955,7 @@ packages: dependencies: playwright: 1.47.2 - /@pmmmwh/react-refresh-webpack-plugin@0.5.15(react-refresh@0.14.2)(webpack@5.96.1): + /@pmmmwh/react-refresh-webpack-plugin@0.5.15(react-refresh@0.14.2)(webpack@5.93.0): resolution: {integrity: sha512-LFWllMA55pzB9D34w/wXUCf8+c+IYKuJDgxiZ3qMhl64KRMBHYM1I3VdGaD2BV5FNPV2/S2596bppxHbv2ZydQ==} engines: {node: '>= 10.13'} peerDependencies: @@ -5996,7 +5989,7 @@ packages: react-refresh: 0.14.2 schema-utils: 4.2.0 source-map: 0.7.4 - webpack: 5.96.1(esbuild@0.21.5) + webpack: 5.93.0(esbuild@0.21.5) dev: true /@pnpm/config.env-replace@1.1.0: @@ -6309,8 +6302,8 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-alert-dialog@1.1.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-5xzWppXTNZe6zFrTTwAJIoMJeZmdFe0l8ZqQrPGKAVvhdyOWR4r53/G7SZqx6/uf1J441oxK7GzmTkrrWDroHA==} + /@radix-ui/react-alert-dialog@1.1.4(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-A6Kh23qZDLy3PSU4bh2UJZznOrUdHImIXqF8YtUa6CN73f8EOO9XlXSCd9IHyPvIquTaa/kwaSWzZTtUvgXVGw==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -6325,7 +6318,7 @@ packages: '@radix-ui/primitive': 1.1.1 '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.2.57)(react@18.2.0) '@radix-ui/react-context': 1.1.1(@types/react@18.2.57)(react@18.2.0) - '@radix-ui/react-dialog': 1.1.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-dialog': 1.1.4(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-slot': 1.1.1(@types/react@18.2.57)(react@18.2.0) '@types/react': 18.2.57 @@ -6547,8 +6540,8 @@ packages: react: 18.2.0 dev: false - /@radix-ui/react-context-menu@2.2.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-i4ZjZNoiAKwxcaKBR5XdiOyEJQdBT4P6TeMtzP4fjlcDJpxwIcmmWkdd13YEzCHHcWYZOyl7fVHKT8dFMHdo3w==} + /@radix-ui/react-context-menu@2.2.4(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-ap4wdGwK52rJxGkwukU1NrnEodsUFQIooANKu+ey7d6raQ2biTcEf8za1zr0mgFHieevRTB2nK4dJeN8pTAZGQ==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -6562,7 +6555,7 @@ packages: dependencies: '@radix-ui/primitive': 1.1.1 '@radix-ui/react-context': 1.1.1(@types/react@18.2.57)(react@18.2.0) - '@radix-ui/react-menu': 2.1.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-menu': 2.1.4(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.2.57)(react@18.2.0) '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.2.57)(react@18.2.0) @@ -6599,8 +6592,8 @@ packages: react: 18.2.0 dev: false - /@radix-ui/react-dialog@1.1.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-ujGvqQNkZ0J7caQyl8XuZRj2/TIrYcOGwqz5TeD1OMcCdfBuEMP0D12ve+8J5F9XuNUth3FAKFWo/wt0E/GJrQ==} + /@radix-ui/react-dialog@1.1.4(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-Ur7EV1IwQGCyaAuyDRiOLA5JIUZxELJljF+MbM/2NC0BYwfuRrbpS30BiQBJrVruscgUkieKkqXYDOoByaxIoA==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -6615,7 +6608,7 @@ packages: '@radix-ui/primitive': 1.1.1 '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.2.57)(react@18.2.0) '@radix-ui/react-context': 1.1.1(@types/react@18.2.57)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.1.2(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.1.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.2.57)(react@18.2.0) '@radix-ui/react-focus-scope': 1.1.1(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-id': 1.1.0(@types/react@18.2.57)(react@18.2.0) @@ -6629,7 +6622,7 @@ packages: aria-hidden: 1.2.4 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - react-remove-scroll: 2.6.0(@types/react@18.2.57)(react@18.2.0) + react-remove-scroll: 2.6.2(@types/react@18.2.57)(react@18.2.0) dev: false /@radix-ui/react-direction@1.0.1(@types/react@18.2.57)(react@18.2.0): @@ -6684,8 +6677,8 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-dismissable-layer@1.1.2(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-kEHnlhv7wUggvhuJPkyw4qspXLJOdYoAP4dO2c8ngGuXTq1w/HZp1YeVB+NQ2KbH1iEG+pvOCGYSqh9HZOz6hg==} + /@radix-ui/react-dismissable-layer@1.1.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-onrWn/72lQoEucDmJnr8uczSNTujT0vJnA/X5+3AkChVPowr8n1yvIKIabhWyMQeMvvmdpsvcyDqx3X1LEXCPg==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -6708,8 +6701,8 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-dropdown-menu@2.1.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-eKyAfA9e4HOavzyGJC6kiDIlHMPzAU0zqSqTg+VwS0Okvb9nkTo7L4TugkCUqM3I06ciSpdtYQ73cgB7tyUgVw==} + /@radix-ui/react-dropdown-menu@2.1.4(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-iXU1Ab5ecM+yEepGAWK8ZhMyKX4ubFdCNtol4sT9D0OVErG9PNElfx3TQhjw7n7BC5nFVz68/5//clWy+8TXzA==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -6725,7 +6718,7 @@ packages: '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.2.57)(react@18.2.0) '@radix-ui/react-context': 1.1.1(@types/react@18.2.57)(react@18.2.0) '@radix-ui/react-id': 1.1.0(@types/react@18.2.57)(react@18.2.0) - '@radix-ui/react-menu': 2.1.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-menu': 2.1.4(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.2.57)(react@18.2.0) '@types/react': 18.2.57 @@ -6794,8 +6787,8 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-hover-card@1.1.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-D+o67Fd7fjkW10ycdsse1sYuGV9dNQKOhoVii7ksSfUYqQiTPxz9bP/Vu1g6huJ1651/2j8q7JGGWSIBIuGO1Q==} + /@radix-ui/react-hover-card@1.1.4(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-QSUUnRA3PQ2UhvoCv3eYvMnCAgGQW+sTu86QPuNb+ZMi+ZENd6UWpiXbcWDQ4AEaKF9KKpCHBeaJz9Rw6lRlaQ==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -6810,7 +6803,7 @@ packages: '@radix-ui/primitive': 1.1.1 '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.2.57)(react@18.2.0) '@radix-ui/react-context': 1.1.1(@types/react@18.2.57)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.1.2(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.1.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-popper': 1.2.1(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-portal': 1.1.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-presence': 1.1.2(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) @@ -6879,8 +6872,8 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-menu@2.1.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-wY5SY6yCiJYP+DMIy7RrjF4shoFpB9LJltliVwejBm8T2yepWDJgKBhIFYOGWYR/lFHOCtbstN9duZFu6gmveQ==} + /@radix-ui/react-menu@2.1.4(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-BnOgVoL6YYdHAG6DtXONaR29Eq4nvbi8rutrV/xlr3RQCMMb3yqP85Qiw/3NReozrSW+4dfLkK+rc1hb4wPU/A==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -6897,7 +6890,7 @@ packages: '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.2.57)(react@18.2.0) '@radix-ui/react-context': 1.1.1(@types/react@18.2.57)(react@18.2.0) '@radix-ui/react-direction': 1.1.0(@types/react@18.2.57)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.1.2(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.1.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.2.57)(react@18.2.0) '@radix-ui/react-focus-scope': 1.1.1(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-id': 1.1.0(@types/react@18.2.57)(react@18.2.0) @@ -6913,11 +6906,11 @@ packages: aria-hidden: 1.2.4 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - react-remove-scroll: 2.6.0(@types/react@18.2.57)(react@18.2.0) + react-remove-scroll: 2.6.2(@types/react@18.2.57)(react@18.2.0) dev: false - /@radix-ui/react-popover@1.1.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-MBDKFwRe6fi0LT8m/Jl4V8J3WbS/UfXJtsgg8Ym5w5AyPG3XfHH4zhBp1P8HmZK83T8J7UzVm6/JpDE3WMl1Dw==} + /@radix-ui/react-popover@1.1.4(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-aUACAkXx8LaFymDma+HQVji7WhvEhpFJ7+qPz17Nf4lLZqtreGOFRiNQWQmhzp7kEWg9cOyyQJpdIMUMPc/CPw==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -6932,7 +6925,7 @@ packages: '@radix-ui/primitive': 1.1.1 '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.2.57)(react@18.2.0) '@radix-ui/react-context': 1.1.1(@types/react@18.2.57)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.1.2(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.1.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.2.57)(react@18.2.0) '@radix-ui/react-focus-scope': 1.1.1(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-id': 1.1.0(@types/react@18.2.57)(react@18.2.0) @@ -6947,7 +6940,7 @@ packages: aria-hidden: 1.2.4 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - react-remove-scroll: 2.6.0(@types/react@18.2.57)(react@18.2.0) + react-remove-scroll: 2.6.2(@types/react@18.2.57)(react@18.2.0) dev: false /@radix-ui/react-popper@1.1.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): @@ -6993,7 +6986,7 @@ packages: '@types/react-dom': optional: true dependencies: - '@floating-ui/react-dom': 2.1.2(react-dom@18.2.0)(react@18.2.0) + '@floating-ui/react-dom': 2.0.1(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-arrow': 1.1.1(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.2.57)(react@18.2.0) '@radix-ui/react-context': 1.1.1(@types/react@18.2.57)(react@18.2.0) @@ -7220,8 +7213,8 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-select@2.1.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-tlLwaewTfrKetiex8iW9wwME/qrYlzlH0qcgYmos7xS54MO00SiPHasLoAykg/yVrjf41GQptPPi4oXzrP+sgg==} + /@radix-ui/react-select@2.1.4(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-pOkb2u8KgO47j/h7AylCj7dJsm69BXcjkrvTqMptFqsE2i0p8lHkfgneXKjAgPzBMivnoMyt8o4KiV4wYzDdyQ==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -7239,7 +7232,7 @@ packages: '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.2.57)(react@18.2.0) '@radix-ui/react-context': 1.1.1(@types/react@18.2.57)(react@18.2.0) '@radix-ui/react-direction': 1.1.0(@types/react@18.2.57)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.1.2(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.1.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.2.57)(react@18.2.0) '@radix-ui/react-focus-scope': 1.1.1(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-id': 1.1.0(@types/react@18.2.57)(react@18.2.0) @@ -7257,7 +7250,7 @@ packages: aria-hidden: 1.2.4 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - react-remove-scroll: 2.6.0(@types/react@18.2.57)(react@18.2.0) + react-remove-scroll: 2.6.2(@types/react@18.2.57)(react@18.2.0) dev: false /@radix-ui/react-separator@1.1.1(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): @@ -7424,8 +7417,8 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: false - /@radix-ui/react-tooltip@1.1.5(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-IucoQPcK5nwUuztaxBQvudvYwH58wtRcJlv1qvaMSyIbL9dEBfFN0vRf/D8xDbu6HmAJLlNGty4z8Na+vIqe9Q==} + /@radix-ui/react-tooltip@1.1.6(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-TLB5D8QLExS1uDn7+wH/bjEmRurNMTzNrtq7IjaS4kjion9NtzsTGkvR5+i7yc9q01Pi2KMM2cN3f8UG4IvvXA==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -7440,7 +7433,7 @@ packages: '@radix-ui/primitive': 1.1.1 '@radix-ui/react-compose-refs': 1.1.1(@types/react@18.2.57)(react@18.2.0) '@radix-ui/react-context': 1.1.1(@types/react@18.2.57)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.1.2(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.1.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-id': 1.1.0(@types/react@18.2.57)(react@18.2.0) '@radix-ui/react-popper': 1.2.1(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-portal': 1.1.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) @@ -7705,27 +7698,27 @@ packages: '@radix-ui/colors': 2.0.1 '@radix-ui/primitive': 1.1.1 '@radix-ui/react-accessible-icon': 1.1.1(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-alert-dialog': 1.1.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-alert-dialog': 1.1.4(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-aspect-ratio': 1.1.1(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-avatar': 1.1.2(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-checkbox': 1.1.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-context-menu': 2.2.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-dialog': 1.1.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-context-menu': 2.2.4(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-dialog': 1.1.4(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-direction': 1.1.0(@types/react@18.2.57)(react@18.2.0) - '@radix-ui/react-dropdown-menu': 2.1.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-dropdown-menu': 2.1.4(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-form': 0.1.1(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-hover-card': 1.1.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-popover': 1.1.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-hover-card': 1.1.4(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-popover': 1.1.4(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-portal': 1.1.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-radio-group': 1.2.2(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-scroll-area': 1.2.2(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-select': 2.1.3(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-select': 2.1.4(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-separator': 1.1.1(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-slider': 1.2.2(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-slot': 1.1.1(@types/react@18.2.57)(react@18.2.0) '@radix-ui/react-switch': 1.1.2(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-tabs': 1.1.2(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-tooltip': 1.1.5(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-tooltip': 1.1.6(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-visually-hidden': 1.1.1(@types/react-dom@18.2.19)(@types/react@18.2.57)(react-dom@18.2.0)(react@18.2.0) '@types/react': 18.2.57 '@types/react-dom': 18.2.19 @@ -7765,7 +7758,7 @@ packages: rollup: optional: true dependencies: - '@types/estree': 1.0.6 + '@types/estree': 1.0.5 estree-walker: 2.0.2 picomatch: 2.3.1 rollup: 3.29.5 @@ -8221,7 +8214,7 @@ packages: '@sentry/utils': 8.35.0 dev: false - /@sentry/nextjs@8.35.0(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.28.0)(@opentelemetry/instrumentation@0.53.0)(@opentelemetry/sdk-trace-base@1.28.0)(next@14.2.18)(react@18.2.0)(webpack@5.96.1): + /@sentry/nextjs@8.35.0(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.26.0)(@opentelemetry/instrumentation@0.53.0)(@opentelemetry/sdk-trace-base@1.26.0)(next@14.2.18)(react@18.2.0)(webpack@5.93.0): resolution: {integrity: sha512-7V6Yd0llWvarebVhtK2UyIqkfw/BzKn/hQxJAob/FQ6V9wKFjF5W0EFtE2n/T0RCetL2JPF8iHu3/b4/TVREmg==} engines: {node: '>=14.18'} peerDependencies: @@ -8237,18 +8230,18 @@ packages: '@sentry-internal/browser-utils': 8.35.0 '@sentry/core': 8.35.0 '@sentry/node': 8.35.0 - '@sentry/opentelemetry': 8.35.0(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.28.0)(@opentelemetry/instrumentation@0.53.0)(@opentelemetry/sdk-trace-base@1.28.0)(@opentelemetry/semantic-conventions@1.27.0) + '@sentry/opentelemetry': 8.35.0(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.26.0)(@opentelemetry/instrumentation@0.53.0)(@opentelemetry/sdk-trace-base@1.26.0)(@opentelemetry/semantic-conventions@1.27.0) '@sentry/react': 8.35.0(react@18.2.0) '@sentry/types': 8.35.0 '@sentry/utils': 8.35.0 '@sentry/vercel-edge': 8.35.0 - '@sentry/webpack-plugin': 2.22.3(webpack@5.96.1) + '@sentry/webpack-plugin': 2.22.3(webpack@5.93.0) chalk: 3.0.0 next: 14.2.18(@babel/core@7.24.5)(@opentelemetry/api@1.9.0)(@playwright/test@1.47.2)(react-dom@18.2.0)(react@18.2.0) resolve: 1.22.8 rollup: 3.29.5 stacktrace-parser: 0.1.10 - webpack: 5.96.1(esbuild@0.21.5) + webpack: 5.93.0(esbuild@0.21.5) transitivePeerDependencies: - '@opentelemetry/api' - '@opentelemetry/core' @@ -8322,26 +8315,6 @@ packages: '@sentry/utils': 8.35.0 dev: false - /@sentry/opentelemetry@8.35.0(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.28.0)(@opentelemetry/instrumentation@0.53.0)(@opentelemetry/sdk-trace-base@1.28.0)(@opentelemetry/semantic-conventions@1.27.0): - resolution: {integrity: sha512-2mWMpEiIFop/omia9BqTJa+0Khe+tSsiZSUrxbnSpxM0zgw8DFIzJMHbiqw/I7Qaluz9pnO2HZXqgUTwNPsU8A==} - engines: {node: '>=14.18'} - peerDependencies: - '@opentelemetry/api': ^1.9.0 - '@opentelemetry/core': ^1.25.1 - '@opentelemetry/instrumentation': ^0.53.0 - '@opentelemetry/sdk-trace-base': ^1.26.0 - '@opentelemetry/semantic-conventions': ^1.27.0 - dependencies: - '@opentelemetry/api': 1.9.0 - '@opentelemetry/core': 1.28.0(@opentelemetry/api@1.9.0) - '@opentelemetry/instrumentation': 0.53.0(@opentelemetry/api@1.9.0) - '@opentelemetry/sdk-trace-base': 1.28.0(@opentelemetry/api@1.9.0) - '@opentelemetry/semantic-conventions': 1.27.0 - '@sentry/core': 8.35.0 - '@sentry/types': 8.35.0 - '@sentry/utils': 8.35.0 - dev: false - /@sentry/react@8.35.0(react@18.2.0): resolution: {integrity: sha512-8Y+s4pE9hvT2TwSo5JS/Enw2cNFlwiLcJDNGCj/Hho+FePFYA59hbN06ouTHWARnO+swANHKZQj24Wp57p1/tg==} engines: {node: '>=14.18'} @@ -8377,7 +8350,7 @@ packages: '@sentry/utils': 8.35.0 dev: false - /@sentry/webpack-plugin@2.21.1(webpack@5.96.1): + /@sentry/webpack-plugin@2.21.1(webpack@5.93.0): resolution: {integrity: sha512-mhKWQq7/eC35qrhhD8oXm/37vZ1BQqmCD8dUngFIr4D24rc7dwlGwPGOYv59yiBqjTS0fGJ+o0xC5PTRKljGQQ==} engines: {node: '>= 14'} peerDependencies: @@ -8386,13 +8359,13 @@ packages: '@sentry/bundler-plugin-core': 2.21.1 unplugin: 1.0.1 uuid: 9.0.1 - webpack: 5.96.1(esbuild@0.21.5) + webpack: 5.93.0(esbuild@0.21.5) transitivePeerDependencies: - encoding - supports-color dev: true - /@sentry/webpack-plugin@2.22.3(webpack@5.96.1): + /@sentry/webpack-plugin@2.22.3(webpack@5.93.0): resolution: {integrity: sha512-Sq1S6bL3nuoTP5typkj+HPjQ13dqftIE8kACAq4tKkXOpWO9bf6HtqcruEQCxMekbWDTdljsrknQ17ZBx2q66Q==} engines: {node: '>= 14'} peerDependencies: @@ -8401,7 +8374,7 @@ packages: '@sentry/bundler-plugin-core': 2.22.3 unplugin: 1.0.1 uuid: 9.0.1 - webpack: 5.96.1(esbuild@0.21.5) + webpack: 5.93.0(esbuild@0.21.5) transitivePeerDependencies: - encoding - supports-color @@ -8438,7 +8411,7 @@ packages: resolution: {integrity: sha512-Wz7QYfPAlG/DR+DfABddUZeNgoeY7d1J39OCR2jR+v7VBsB8ezulDK5szTnDDPDwLH5IWhLvXIHlCFZV7MSKgA==} engines: {node: '>= 18', npm: '>= 8.6.0'} dependencies: - '@types/node': 20.17.9 + '@types/node': 20.17.10 dev: false /@slack/types@2.12.0: @@ -8452,7 +8425,7 @@ packages: dependencies: '@slack/logger': 4.0.0 '@slack/types': 2.12.0 - '@types/node': 20.17.9 + '@types/node': 20.17.10 '@types/retry': 0.12.0 axios: 1.6.8 eventemitter3: 5.0.1 @@ -8479,7 +8452,7 @@ packages: '@types/uuid': 9.0.3 dequal: 2.0.3 polished: 4.3.1 - storybook: 8.4.1(prettier@3.4.1) + storybook: 8.4.1(prettier@3.4.2) uuid: 9.0.1 dev: true @@ -8490,7 +8463,7 @@ packages: dependencies: '@storybook/global': 5.0.0 memoizerific: 1.11.3 - storybook: 8.4.1(prettier@3.4.1) + storybook: 8.4.1(prettier@3.4.2) ts-dedent: 2.2.0 dev: true @@ -8501,7 +8474,7 @@ packages: dependencies: '@storybook/global': 5.0.0 dequal: 2.0.3 - storybook: 8.4.1(prettier@3.4.1) + storybook: 8.4.1(prettier@3.4.2) ts-dedent: 2.2.0 dev: true @@ -8516,7 +8489,7 @@ packages: '@storybook/react-dom-shim': 8.4.1(react-dom@18.2.0)(react@18.2.0)(storybook@8.4.1) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - storybook: 8.4.1(prettier@3.4.1) + storybook: 8.4.1(prettier@3.4.2) ts-dedent: 2.2.0 transitivePeerDependencies: - '@types/react' @@ -8536,7 +8509,7 @@ packages: '@storybook/addon-outline': 8.4.1(storybook@8.4.1) '@storybook/addon-toolbars': 8.4.1(storybook@8.4.1) '@storybook/addon-viewport': 8.4.1(storybook@8.4.1) - storybook: 8.4.1(prettier@3.4.1) + storybook: 8.4.1(prettier@3.4.2) ts-dedent: 2.2.0 transitivePeerDependencies: - '@types/react' @@ -8548,7 +8521,7 @@ packages: storybook: ^8.4.1 dependencies: '@storybook/global': 5.0.0 - storybook: 8.4.1(prettier@3.4.1) + storybook: 8.4.1(prettier@3.4.2) dev: true /@storybook/addon-interactions@8.4.1(storybook@8.4.1): @@ -8560,7 +8533,7 @@ packages: '@storybook/instrumenter': 8.4.1(storybook@8.4.1) '@storybook/test': 8.4.1(storybook@8.4.1) polished: 4.3.1 - storybook: 8.4.1(prettier@3.4.1) + storybook: 8.4.1(prettier@3.4.2) ts-dedent: 2.2.0 dev: true @@ -8576,7 +8549,7 @@ packages: '@storybook/csf': 0.1.11 '@storybook/global': 5.0.0 react: 18.2.0 - storybook: 8.4.1(prettier@3.4.1) + storybook: 8.4.1(prettier@3.4.2) ts-dedent: 2.2.0 dev: true @@ -8586,7 +8559,7 @@ packages: storybook: ^8.4.1 dependencies: '@storybook/global': 5.0.0 - storybook: 8.4.1(prettier@3.4.1) + storybook: 8.4.1(prettier@3.4.2) tiny-invariant: 1.3.3 dev: true @@ -8596,7 +8569,7 @@ packages: storybook: ^8.4.1 dependencies: react-confetti: 6.1.0(react@18.2.0) - storybook: 8.4.1(prettier@3.4.1) + storybook: 8.4.1(prettier@3.4.2) transitivePeerDependencies: - react dev: true @@ -8607,7 +8580,7 @@ packages: storybook: ^8.4.1 dependencies: '@storybook/global': 5.0.0 - storybook: 8.4.1(prettier@3.4.1) + storybook: 8.4.1(prettier@3.4.2) ts-dedent: 2.2.0 dev: true @@ -8616,7 +8589,7 @@ packages: peerDependencies: storybook: ^8.4.1 dependencies: - storybook: 8.4.1(prettier@3.4.1) + storybook: 8.4.1(prettier@3.4.2) dev: true /@storybook/addon-viewport@8.4.1(storybook@8.4.1): @@ -8625,7 +8598,7 @@ packages: storybook: ^8.4.1 dependencies: memoizerific: 1.11.3 - storybook: 8.4.1(prettier@3.4.1) + storybook: 8.4.1(prettier@3.4.2) dev: true /@storybook/blocks@8.4.1(react-dom@18.2.0)(react@18.2.0)(storybook@8.4.1): @@ -8644,7 +8617,7 @@ packages: '@storybook/icons': 1.2.12(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - storybook: 8.4.1(prettier@3.4.1) + storybook: 8.4.1(prettier@3.4.2) ts-dedent: 2.2.0 dev: true @@ -8658,7 +8631,7 @@ packages: optional: true dependencies: '@storybook/core-webpack': 8.4.1(storybook@8.4.1) - '@types/node': 22.10.1 + '@types/node': 22.8.7 '@types/semver': 7.5.0 browser-assert: 1.2.1 case-sensitive-paths-webpack-plugin: 2.4.0 @@ -8672,7 +8645,7 @@ packages: path-browserify: 1.0.1 process: 0.11.10 semver: 7.6.3 - storybook: 8.4.1(prettier@3.4.1) + storybook: 8.4.1(prettier@3.4.2) style-loader: 3.3.4(webpack@5.93.0) terser-webpack-plugin: 5.3.10(esbuild@0.21.5)(webpack@5.93.0) ts-dedent: 2.2.0 @@ -8697,7 +8670,7 @@ packages: peerDependencies: storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 dependencies: - storybook: 8.4.1(prettier@3.4.1) + storybook: 8.4.1(prettier@3.4.2) dev: true /@storybook/core-webpack@8.4.1(storybook@8.4.1): @@ -8705,12 +8678,12 @@ packages: peerDependencies: storybook: ^8.4.1 dependencies: - '@types/node': 22.10.1 - storybook: 8.4.1(prettier@3.4.1) + '@types/node': 22.8.7 + storybook: 8.4.1(prettier@3.4.2) ts-dedent: 2.2.0 dev: true - /@storybook/core@8.4.1(prettier@3.4.1): + /@storybook/core@8.4.1(prettier@3.4.2): resolution: {integrity: sha512-q3Q4OFBj7MHHbIFYk/Beejlqv5j7CC3+VWhGcr0TK3SGvdCIZ7EliYuc5JIOgDlEPsnTIk+lkgWI4LAA9mLzSw==} peerDependencies: prettier: ^2 || ^3 @@ -8724,7 +8697,7 @@ packages: esbuild: 0.21.5 esbuild-register: 3.6.0(esbuild@0.21.5) jsdoc-type-pratt-parser: 4.1.0 - prettier: 3.4.1 + prettier: 3.4.2 process: 0.11.10 recast: 0.23.9 semver: 7.6.3 @@ -8740,7 +8713,7 @@ packages: peerDependencies: storybook: ^8.4.1 dependencies: - storybook: 8.4.1(prettier@3.4.1) + storybook: 8.4.1(prettier@3.4.2) unplugin: 1.12.0 dev: true @@ -8771,7 +8744,7 @@ packages: dependencies: '@storybook/global': 5.0.0 '@vitest/utils': 2.1.4 - storybook: 8.4.1(prettier@3.4.1) + storybook: 8.4.1(prettier@3.4.2) dev: true /@storybook/manager-api@8.4.1(storybook@8.4.1): @@ -8779,10 +8752,10 @@ packages: peerDependencies: storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 dependencies: - storybook: 8.4.1(prettier@3.4.1) + storybook: 8.4.1(prettier@3.4.2) dev: true - /@storybook/nextjs@8.4.1(esbuild@0.21.5)(next@14.2.18)(react-dom@18.2.0)(react@18.2.0)(storybook@8.4.1)(typescript@5.7.2)(webpack@5.96.1): + /@storybook/nextjs@8.4.1(esbuild@0.21.5)(next@14.2.18)(react-dom@18.2.0)(react@18.2.0)(storybook@8.4.1)(typescript@5.7.2)(webpack@5.93.0): resolution: {integrity: sha512-SOEI8qOY+yLsRsvjokSevqtA+E+cXHDBObwPUJKmRxIAEwbP1uJEFnbvpZULs1pQl1gYsZQxEndbkTmM5pwtoQ==} engines: {node: '>=18.0.0'} peerDependencies: @@ -8811,39 +8784,39 @@ packages: '@babel/preset-react': 7.24.7(@babel/core@7.24.5) '@babel/preset-typescript': 7.24.7(@babel/core@7.24.5) '@babel/runtime': 7.24.5 - '@pmmmwh/react-refresh-webpack-plugin': 0.5.15(react-refresh@0.14.2)(webpack@5.96.1) + '@pmmmwh/react-refresh-webpack-plugin': 0.5.15(react-refresh@0.14.2)(webpack@5.93.0) '@storybook/builder-webpack5': 8.4.1(esbuild@0.21.5)(storybook@8.4.1)(typescript@5.7.2) '@storybook/preset-react-webpack': 8.4.1(@storybook/test@8.4.1)(esbuild@0.21.5)(react-dom@18.2.0)(react@18.2.0)(storybook@8.4.1)(typescript@5.7.2) '@storybook/react': 8.4.1(@storybook/test@8.4.1)(react-dom@18.2.0)(react@18.2.0)(storybook@8.4.1)(typescript@5.7.2) '@storybook/test': 8.4.1(storybook@8.4.1) - '@types/node': 22.10.1 + '@types/node': 22.8.7 '@types/semver': 7.5.0 - babel-loader: 9.1.3(@babel/core@7.24.5)(webpack@5.96.1) - css-loader: 6.11.0(webpack@5.96.1) + babel-loader: 9.1.3(@babel/core@7.24.5)(webpack@5.93.0) + css-loader: 6.11.0(webpack@5.93.0) find-up: 5.0.0 image-size: 1.0.2 loader-utils: 3.3.1 next: 14.2.18(@babel/core@7.24.5)(@opentelemetry/api@1.9.0)(@playwright/test@1.47.2)(react-dom@18.2.0)(react@18.2.0) - node-polyfill-webpack-plugin: 2.0.1(webpack@5.96.1) + node-polyfill-webpack-plugin: 2.0.1(webpack@5.93.0) pnp-webpack-plugin: 1.7.0(typescript@5.7.2) postcss: 8.4.38 - postcss-loader: 8.1.1(postcss@8.4.38)(typescript@5.7.2)(webpack@5.96.1) + postcss-loader: 8.1.1(postcss@8.4.38)(typescript@5.7.2)(webpack@5.93.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) react-refresh: 0.14.2 resolve-url-loader: 5.0.0 - sass-loader: 13.3.3(webpack@5.96.1) + sass-loader: 13.3.3(webpack@5.93.0) semver: 7.6.3 - storybook: 8.4.1(prettier@3.4.1) - style-loader: 3.3.4(webpack@5.96.1) + storybook: 8.4.1(prettier@3.4.2) + style-loader: 3.3.4(webpack@5.93.0) styled-jsx: 5.1.6(@babel/core@7.24.5)(react@18.2.0) ts-dedent: 2.2.0 tsconfig-paths: 4.2.0 tsconfig-paths-webpack-plugin: 4.1.0 typescript: 5.7.2 - webpack: 5.96.1(esbuild@0.21.5) + webpack: 5.93.0(esbuild@0.21.5) optionalDependencies: - sharp: 0.33.5 + sharp: 0.33.4 transitivePeerDependencies: - '@rspack/core' - '@swc/core' @@ -8879,7 +8852,7 @@ packages: '@storybook/core-webpack': 8.4.1(storybook@8.4.1) '@storybook/react': 8.4.1(@storybook/test@8.4.1)(react-dom@18.2.0)(react@18.2.0)(storybook@8.4.1)(typescript@5.7.2) '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.7.2)(webpack@5.93.0) - '@types/node': 22.10.1 + '@types/node': 22.8.7 '@types/semver': 7.5.0 find-up: 5.0.0 magic-string: 0.30.10 @@ -8888,7 +8861,7 @@ packages: react-dom: 18.2.0(react@18.2.0) resolve: 1.22.8 semver: 7.6.3 - storybook: 8.4.1(prettier@3.4.1) + storybook: 8.4.1(prettier@3.4.2) tsconfig-paths: 4.2.0 typescript: 5.7.2 webpack: 5.93.0(esbuild@0.21.5) @@ -8906,7 +8879,7 @@ packages: peerDependencies: storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 dependencies: - storybook: 8.4.1(prettier@3.4.1) + storybook: 8.4.1(prettier@3.4.2) dev: true /@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0(typescript@5.7.2)(webpack@5.93.0): @@ -8921,7 +8894,7 @@ packages: flat-cache: 3.0.4 micromatch: 4.0.5 react-docgen-typescript: 2.2.2(typescript@5.7.2) - tslib: 2.8.1 + tslib: 2.7.0 typescript: 5.7.2 webpack: 5.93.0(esbuild@0.21.5) transitivePeerDependencies: @@ -8937,7 +8910,7 @@ packages: dependencies: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - storybook: 8.4.1(prettier@3.4.1) + storybook: 8.4.1(prettier@3.4.2) dev: true /@storybook/react@8.4.1(@storybook/test@8.4.1)(react-dom@18.2.0)(react@18.2.0)(storybook@8.4.1)(typescript@5.7.2): @@ -8964,7 +8937,7 @@ packages: '@storybook/theming': 8.4.1(storybook@8.4.1) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - storybook: 8.4.1(prettier@3.4.1) + storybook: 8.4.1(prettier@3.4.2) typescript: 5.7.2 dev: true @@ -8981,7 +8954,7 @@ packages: '@testing-library/user-event': 14.5.2(@testing-library/dom@10.4.0) '@vitest/expect': 2.0.5 '@vitest/spy': 2.0.5 - storybook: 8.4.1(prettier@3.4.1) + storybook: 8.4.1(prettier@3.4.2) dev: true /@storybook/theming@8.4.1(storybook@8.4.1): @@ -8989,7 +8962,7 @@ packages: peerDependencies: storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 dependencies: - storybook: 8.4.1(prettier@3.4.1) + storybook: 8.4.1(prettier@3.4.2) dev: true /@swc/counter@0.1.3: @@ -9118,7 +9091,7 @@ packages: engines: {node: '>= 10'} dev: false - /@trivago/prettier-plugin-sort-imports@4.3.0(prettier@3.4.1): + /@trivago/prettier-plugin-sort-imports@4.3.0(prettier@3.4.2): resolution: {integrity: sha512-r3n0onD3BTOVUNPhR4lhVK4/pABGpbA7bW3eumZnYdKaHkf1qEC+Mag6DPbGNuuh0eG8AaYj+YqmVHSiGslaTQ==} peerDependencies: '@vue/compiler-sfc': 3.x @@ -9128,12 +9101,12 @@ packages: optional: true dependencies: '@babel/generator': 7.17.7 - '@babel/parser': 7.26.2 + '@babel/parser': 7.22.10 '@babel/traverse': 7.23.2 '@babel/types': 7.17.0 javascript-natural-sort: 0.7.1 lodash: 4.17.21 - prettier: 3.4.1 + prettier: 3.4.2 transitivePeerDependencies: - supports-color dev: true @@ -9213,8 +9186,8 @@ packages: /@types/babel__core@7.20.5: resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} dependencies: - '@babel/parser': 7.26.2 - '@babel/types': 7.26.0 + '@babel/parser': 7.24.5 + '@babel/types': 7.24.5 '@types/babel__generator': 7.6.8 '@types/babel__template': 7.4.4 '@types/babel__traverse': 7.20.6 @@ -9223,26 +9196,26 @@ packages: /@types/babel__generator@7.6.8: resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} dependencies: - '@babel/types': 7.26.0 + '@babel/types': 7.24.5 dev: true /@types/babel__template@7.4.4: resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} dependencies: - '@babel/parser': 7.26.2 - '@babel/types': 7.26.0 + '@babel/parser': 7.24.5 + '@babel/types': 7.24.5 dev: true /@types/babel__traverse@7.20.6: resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} dependencies: - '@babel/types': 7.26.0 + '@babel/types': 7.24.5 dev: true /@types/buffer-from@1.1.3: resolution: {integrity: sha512-2lq4YC9uLUMGHkl2IDtX4tCXSo2+hwMpOJcY1qiIk1kybc31rIlPyM1HCVJhkPFIo75a/pOVxqyvwuf5TpCG/w==} dependencies: - '@types/node': 20.17.9 + '@types/node': 20.17.10 dev: false /@types/caseless@0.12.5: @@ -9256,7 +9229,7 @@ packages: /@types/connect@3.4.36: resolution: {integrity: sha512-P63Zd/JUGq+PdrM1lv0Wv5SBYeA2+CORvbrXbngriYY0jzLUWfQMQQxOhjONEz/wlHOAxOdY7CY65rgQdTjq2w==} dependencies: - '@types/node': 20.17.9 + '@types/node': 20.17.10 dev: false /@types/cookie@0.6.0: @@ -9266,7 +9239,7 @@ packages: /@types/cross-spawn@6.0.2: resolution: {integrity: sha512-KuwNhp3eza+Rhu8IFI5HUXRP0LIhqH5cAjubUvGXXthh4YYBuP2ntwEX+Cz8GJoZUHlKo247wPWOfA9LYEq4cw==} dependencies: - '@types/node': 20.17.9 + '@types/node': 20.17.10 dev: true /@types/debug@4.1.12: @@ -9297,16 +9270,20 @@ packages: resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} dependencies: '@types/eslint': 9.6.0 - '@types/estree': 1.0.6 + '@types/estree': 1.0.5 /@types/eslint@9.6.0: resolution: {integrity: sha512-gi6WQJ7cHRgZxtkQEoyHMppPjq9Kxo5Tjn2prSKDSmZrCz8TZ3jSRCeTJm+WoM+oB0WG37bRqLzaaU3q7JypGg==} dependencies: - '@types/estree': 1.0.6 - '@types/json-schema': 7.0.15 + '@types/estree': 1.0.5 + '@types/json-schema': 7.0.13 + + /@types/estree@1.0.5: + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} /@types/estree@1.0.6: resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} + dev: true /@types/event-source-polyfill@1.0.5: resolution: {integrity: sha512-iaiDuDI2aIFft7XkcwMzDWLqo7LVDixd2sR6B4wxJut9xcp/Ev9bO4EFg4rm6S9QxATLBj5OPxdeocgmhjwKaw==} @@ -9323,13 +9300,13 @@ packages: /@types/follow-redirects@1.14.4: resolution: {integrity: sha512-GWXfsD0Jc1RWiFmMuMFCpXMzi9L7oPDVwxUnZdg89kDNnqsRfUKXEtUYtA98A6lig1WXH/CYY/fvPW9HuN5fTA==} dependencies: - '@types/node': 20.17.9 + '@types/node': 20.17.10 dev: false /@types/graceful-fs@4.1.9: resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} dependencies: - '@types/node': 20.17.9 + '@types/node': 20.17.10 dev: true /@types/hast@2.3.10: @@ -9384,13 +9361,17 @@ packages: /@types/jsdom@20.0.1: resolution: {integrity: sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==} dependencies: - '@types/node': 20.17.9 + '@types/node': 20.17.10 '@types/tough-cookie': 4.0.5 parse5: 7.1.2 dev: false + /@types/json-schema@7.0.13: + resolution: {integrity: sha512-RbSSoHliUbnXj3ny0CNFOoxrIDV6SUGyStHsvDqosw6CkdPV8TtWGlfecuK4ToyMEAql6pzNxgCFKanovUzlgQ==} + /@types/json-schema@7.0.15: resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + dev: true /@types/json-stringify-safe@5.0.3: resolution: {integrity: sha512-oNOjRxLfPeYbBSQ60maucaFNqbslVOPU4WWs5t/sHvAh6tyo/CThXSG+E24tEzkgh/fzvxyDrYdOJufgeNy1sQ==} @@ -9436,13 +9417,13 @@ packages: /@types/mysql@2.15.26: resolution: {integrity: sha512-DSLCOXhkvfS5WNNPbfn2KdICAmk8lLc+/PNvnPnF7gOdMZCxopXduqv0OQ13y/yA/zXTSikZZqVgybUxOEg6YQ==} dependencies: - '@types/node': 20.17.9 + '@types/node': 20.17.10 dev: false /@types/node-fetch@2.6.4: resolution: {integrity: sha512-1ZX9fcN4Rvkvgv4E6PAY5WXUFWFcRWxZa3EW83UjycOB9ljJCedb2CupIP4RZMEwF/M3eTcCihbBRgwtGbg5Rg==} dependencies: - '@types/node': 20.17.9 + '@types/node': 20.17.10 form-data: 3.0.1 dev: false @@ -9454,15 +9435,15 @@ packages: resolution: {integrity: sha512-4slmbtwV59ZxitY4ixUZdy1uRLf9eSIvBWPQxNjhHYWEtn0FryfKpyS2cvADYXTayWdKEIsJengncrVvkI4I6A==} dev: false - /@types/node@20.17.9: - resolution: {integrity: sha512-0JOXkRyLanfGPE2QRCwgxhzlBAvaRdCNMcvbd7jFfpmD4eEXll7LRwy5ymJmyeZqk7Nh7eD2LeUyQ68BbndmXw==} + /@types/node@20.17.10: + resolution: {integrity: sha512-/jrvh5h6NXhEauFFexRin69nA0uHJ5gwk4iDivp/DeoEua3uwCUto6PC86IpRITBOs4+6i2I56K5x5b6WYGXHA==} dependencies: undici-types: 6.19.8 - /@types/node@22.10.1: - resolution: {integrity: sha512-qKgsUwfHZV2WCWLAnVP1JqnpE6Im6h3Y0+fYgMTasNQ7V++CBX5OT1as0g0f+OyubbFqhf6XVNIsmN4IIhEgGQ==} + /@types/node@22.8.7: + resolution: {integrity: sha512-LidcG+2UeYIWcMuMUpBKOnryBWG/rnmOHQR5apjn8myTQcx3rinFRn7DcIFhMnS0PPFSC6OafdIKEad0lj6U0Q==} dependencies: - undici-types: 6.20.0 + undici-types: 6.19.8 dev: true /@types/normalize-package-data@2.4.2: @@ -9486,7 +9467,7 @@ packages: /@types/pg@8.6.1: resolution: {integrity: sha512-1Kc4oAGzAl7uqUStZCDvaLFqZrW9qWSjXOmBfdgyBP5La7Us6Mg4GBvRlSoaZMhQF/zSj1C8CtKMBkoiT8eL8w==} dependencies: - '@types/node': 20.17.9 + '@types/node': 20.17.10 pg-protocol: 1.6.1 pg-types: 2.2.0 dev: false @@ -9494,7 +9475,7 @@ packages: /@types/progress-stream@2.0.5: resolution: {integrity: sha512-5YNriuEZkHlFHHepLIaxzq3atGeav1qCTGzB74HKWpo66qjfostF+rHc785YYYHeBytve8ZG3ejg42jEIfXNiQ==} dependencies: - '@types/node': 20.17.9 + '@types/node': 20.17.10 dev: false /@types/prop-types@15.7.5: @@ -9526,7 +9507,7 @@ packages: resolution: {integrity: sha512-G3sY+NpsA9jnwm0ixhAFQSJ3Q9JkpLZpJbI3GMv0mIAT0y3mRabYeINzal5WOChIiaTEGQYlHOKgkaM9EisWHw==} dependencies: '@types/caseless': 0.12.5 - '@types/node': 20.17.9 + '@types/node': 20.17.10 '@types/tough-cookie': 4.0.5 form-data: 2.5.1 dev: false @@ -9553,7 +9534,7 @@ packages: /@types/set-cookie-parser@2.4.9: resolution: {integrity: sha512-bCorlULvl0xTdjj4BPUHX4cqs9I+go2TfW/7Do1nnFYWS0CPP429Qr1AY42kiFhCwLpvAkWFr1XIBHd8j6/MCQ==} dependencies: - '@types/node': 20.17.9 + '@types/node': 20.17.10 dev: true /@types/shimmer@1.2.0: @@ -9596,7 +9577,7 @@ packages: /@types/ws@8.5.12: resolution: {integrity: sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ==} dependencies: - '@types/node': 20.17.9 + '@types/node': 20.17.10 dev: true /@types/yargs-parser@21.0.3: @@ -9607,24 +9588,21 @@ packages: dependencies: '@types/yargs-parser': 21.0.3 - /@typescript-eslint/eslint-plugin@8.17.0(@typescript-eslint/parser@8.17.0)(eslint@9.16.0)(typescript@5.7.2): - resolution: {integrity: sha512-HU1KAdW3Tt8zQkdvNoIijfWDMvdSweFYm4hWh+KwhPstv+sCmWb89hCIP8msFm9N1R/ooh9honpSuvqKWlYy3w==} + /@typescript-eslint/eslint-plugin@8.18.1(@typescript-eslint/parser@8.18.1)(eslint@9.17.0)(typescript@5.7.2): + resolution: {integrity: sha512-Ncvsq5CT3Gvh+uJG0Lwlho6suwDfUXH0HztslDf5I+F2wAFAZMRwYLEorumpKLzmO2suAXZ/td1tBg4NZIi9CQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 eslint: ^8.57.0 || ^9.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - dependencies: - '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.17.0(eslint@9.16.0)(typescript@5.7.2) - '@typescript-eslint/scope-manager': 8.17.0 - '@typescript-eslint/type-utils': 8.17.0(eslint@9.16.0)(typescript@5.7.2) - '@typescript-eslint/utils': 8.17.0(eslint@9.16.0)(typescript@5.7.2) - '@typescript-eslint/visitor-keys': 8.17.0 - eslint: 9.16.0 + typescript: '>=4.8.4 <5.8.0' + dependencies: + '@eslint-community/regexpp': 4.11.0 + '@typescript-eslint/parser': 8.18.1(eslint@9.17.0)(typescript@5.7.2) + '@typescript-eslint/scope-manager': 8.18.1 + '@typescript-eslint/type-utils': 8.18.1(eslint@9.17.0)(typescript@5.7.2) + '@typescript-eslint/utils': 8.18.1(eslint@9.17.0)(typescript@5.7.2) + '@typescript-eslint/visitor-keys': 8.18.1 + eslint: 9.17.0 graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 @@ -9634,71 +9612,97 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2): - resolution: {integrity: sha512-Drp39TXuUlD49F7ilHHCG7TTg8IkA+hxCuULdmzWYICxGXvDXmDmWEjJYZQYgf6l/TFfYNE167m7isnc3xlIEg==} + /@typescript-eslint/parser@8.18.1(eslint@9.17.0)(typescript@5.7.2): + resolution: {integrity: sha512-rBnTWHCdbYM2lh7hjyXqxk70wvon3p2FyaniZuey5TrcGBpfhVp0OxOa6gxr9Q9YhZFKyfbEnxc24ZnVbbUkCA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + typescript: '>=4.8.4 <5.8.0' dependencies: - '@typescript-eslint/scope-manager': 8.17.0 - '@typescript-eslint/types': 8.17.0 - '@typescript-eslint/typescript-estree': 8.17.0(typescript@5.7.2) - '@typescript-eslint/visitor-keys': 8.17.0 + '@typescript-eslint/scope-manager': 8.18.1 + '@typescript-eslint/types': 8.18.1 + '@typescript-eslint/typescript-estree': 8.18.1(typescript@5.7.2) + '@typescript-eslint/visitor-keys': 8.18.1 debug: 4.3.7(supports-color@5.5.0) - eslint: 9.16.0 + eslint: 9.17.0 typescript: 5.7.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/scope-manager@8.17.0: - resolution: {integrity: sha512-/ewp4XjvnxaREtqsZjF4Mfn078RD/9GmiEAtTeLQ7yFdKnqwTOgRMSvFz4et9U5RiJQ15WTGXPLj89zGusvxBg==} + /@typescript-eslint/scope-manager@7.18.0: + resolution: {integrity: sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==} + engines: {node: ^18.18.0 || >=20.0.0} + dependencies: + '@typescript-eslint/types': 7.18.0 + '@typescript-eslint/visitor-keys': 7.18.0 + dev: true + + /@typescript-eslint/scope-manager@8.18.1: + resolution: {integrity: sha512-HxfHo2b090M5s2+/9Z3gkBhI6xBH8OJCFjH9MhQ+nnoZqxU3wNxkLT+VWXWSFWc3UF3Z+CfPAyqdCTdoXtDPCQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dependencies: - '@typescript-eslint/types': 8.17.0 - '@typescript-eslint/visitor-keys': 8.17.0 + '@typescript-eslint/types': 8.18.1 + '@typescript-eslint/visitor-keys': 8.18.1 dev: true - /@typescript-eslint/type-utils@8.17.0(eslint@9.16.0)(typescript@5.7.2): - resolution: {integrity: sha512-q38llWJYPd63rRnJ6wY/ZQqIzPrBCkPdpIsaCfkR3Q4t3p6sb422zougfad4TFW9+ElIFLVDzWGiGAfbb/v2qw==} + /@typescript-eslint/type-utils@8.18.1(eslint@9.17.0)(typescript@5.7.2): + resolution: {integrity: sha512-jAhTdK/Qx2NJPNOTxXpMwlOiSymtR2j283TtPqXkKBdH8OAMmhiUfP0kJjc/qSE51Xrq02Gj9NY7MwK+UxVwHQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + typescript: '>=4.8.4 <5.8.0' dependencies: - '@typescript-eslint/typescript-estree': 8.17.0(typescript@5.7.2) - '@typescript-eslint/utils': 8.17.0(eslint@9.16.0)(typescript@5.7.2) + '@typescript-eslint/typescript-estree': 8.18.1(typescript@5.7.2) + '@typescript-eslint/utils': 8.18.1(eslint@9.17.0)(typescript@5.7.2) debug: 4.3.7(supports-color@5.5.0) - eslint: 9.16.0 + eslint: 9.17.0 ts-api-utils: 1.3.0(typescript@5.7.2) typescript: 5.7.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/types@8.17.0: - resolution: {integrity: sha512-gY2TVzeve3z6crqh2Ic7Cr+CAv6pfb0Egee7J5UAVWCpVvDI/F71wNfolIim4FE6hT15EbpZFVUj9j5i38jYXA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + /@typescript-eslint/types@7.18.0: + resolution: {integrity: sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==} + engines: {node: ^18.18.0 || >=20.0.0} dev: true - /@typescript-eslint/typescript-estree@8.17.0(typescript@5.7.2): - resolution: {integrity: sha512-JqkOopc1nRKZpX+opvKqnM3XUlM7LpFMD0lYxTqOTKQfCWAmxw45e3qlOCsEqEB2yuacujivudOFpCnqkBDNMw==} + /@typescript-eslint/types@8.18.1: + resolution: {integrity: sha512-7uoAUsCj66qdNQNpH2G8MyTFlgerum8ubf21s3TSM3XmKXuIn+H2Sifh/ES2nPOPiYSRJWAk0fDkW0APBWcpfw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + dev: true + + /@typescript-eslint/typescript-estree@7.18.0(typescript@5.7.2): + resolution: {integrity: sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/types': 8.17.0 - '@typescript-eslint/visitor-keys': 8.17.0 + '@typescript-eslint/types': 7.18.0 + '@typescript-eslint/visitor-keys': 7.18.0 + debug: 4.3.7(supports-color@5.5.0) + globby: 11.1.0 + is-glob: 4.0.3 + minimatch: 9.0.5 + semver: 7.6.3 + ts-api-utils: 1.3.0(typescript@5.7.2) + typescript: 5.7.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/typescript-estree@8.18.1(typescript@5.7.2): + resolution: {integrity: sha512-z8U21WI5txzl2XYOW7i9hJhxoKKNG1kcU4RzyNvKrdZDmbjkmLBo8bgeiOJmA06kizLI76/CCBAAGlTlEeUfyg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <5.8.0' + dependencies: + '@typescript-eslint/types': 8.18.1 + '@typescript-eslint/visitor-keys': 8.18.1 debug: 4.3.7(supports-color@5.5.0) fast-glob: 3.3.2 is-glob: 4.0.3 @@ -9710,31 +9714,52 @@ packages: - supports-color dev: true - /@typescript-eslint/utils@8.17.0(eslint@9.16.0)(typescript@5.7.2): - resolution: {integrity: sha512-bQC8BnEkxqG8HBGKwG9wXlZqg37RKSMY7v/X8VEWD8JG2JuTHuNK0VFvMPMUKQcbk6B+tf05k+4AShAEtCtJ/w==} + /@typescript-eslint/utils@7.18.0(eslint@9.17.0)(typescript@5.7.2): + resolution: {integrity: sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + eslint: ^8.56.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@9.17.0) + '@typescript-eslint/scope-manager': 7.18.0 + '@typescript-eslint/types': 7.18.0 + '@typescript-eslint/typescript-estree': 7.18.0(typescript@5.7.2) + eslint: 9.17.0 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@typescript-eslint/utils@8.18.1(eslint@9.17.0)(typescript@5.7.2): + resolution: {integrity: sha512-8vikiIj2ebrC4WRdcAdDcmnu9Q/MXXwg+STf40BVfT8exDqBCUPdypvzcUPxEqRGKg9ALagZ0UWcYCtn+4W2iQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + typescript: '>=4.8.4 <5.8.0' dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.16.0) - '@typescript-eslint/scope-manager': 8.17.0 - '@typescript-eslint/types': 8.17.0 - '@typescript-eslint/typescript-estree': 8.17.0(typescript@5.7.2) - eslint: 9.16.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.17.0) + '@typescript-eslint/scope-manager': 8.18.1 + '@typescript-eslint/types': 8.18.1 + '@typescript-eslint/typescript-estree': 8.18.1(typescript@5.7.2) + eslint: 9.17.0 typescript: 5.7.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/visitor-keys@8.17.0: - resolution: {integrity: sha512-1Hm7THLpO6ww5QU6H/Qp+AusUUl+z/CAm3cNZZ0jQvon9yicgO7Rwd+/WWRpMKLYV6p2UvdbR27c86rzCPpreg==} + /@typescript-eslint/visitor-keys@7.18.0: + resolution: {integrity: sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==} + engines: {node: ^18.18.0 || >=20.0.0} + dependencies: + '@typescript-eslint/types': 7.18.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@typescript-eslint/visitor-keys@8.18.1: + resolution: {integrity: sha512-Vj0WLm5/ZsD013YeUKn+K0y8p1M0jPpxOkKdbD1wB0ns53a5piVY02zjf072TblEweAbcYiFiPoSMF3kp+VhhQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dependencies: - '@typescript-eslint/types': 8.17.0 + '@typescript-eslint/types': 8.18.1 eslint-visitor-keys: 4.2.0 dev: true @@ -9851,78 +9876,77 @@ packages: tinyrainbow: 1.2.0 dev: true - /@vue/compiler-core@3.5.13: - resolution: {integrity: sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==} + /@vue/compiler-core@3.4.26: + resolution: {integrity: sha512-N9Vil6Hvw7NaiyFUFBPXrAyETIGlQ8KcFMkyk6hW1Cl6NvoqvP+Y8p1Eqvx+UdqsnrnI9+HMUEJegzia3mhXmQ==} dependencies: - '@babel/parser': 7.26.2 - '@vue/shared': 3.5.13 + '@babel/parser': 7.25.3 + '@vue/shared': 3.4.26 entities: 4.5.0 estree-walker: 2.0.2 - source-map-js: 1.2.1 + source-map-js: 1.2.0 dev: false - /@vue/compiler-dom@3.5.13: - resolution: {integrity: sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==} + /@vue/compiler-dom@3.4.26: + resolution: {integrity: sha512-4CWbR5vR9fMg23YqFOhr6t6WB1Fjt62d6xdFPyj8pxrYub7d+OgZaObMsoxaF9yBUHPMiPFK303v61PwAuGvZA==} dependencies: - '@vue/compiler-core': 3.5.13 - '@vue/shared': 3.5.13 + '@vue/compiler-core': 3.4.26 + '@vue/shared': 3.4.26 dev: false - /@vue/compiler-sfc@3.5.13: - resolution: {integrity: sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==} + /@vue/compiler-sfc@3.4.26: + resolution: {integrity: sha512-It1dp+FAOCgluYSVYlDn5DtZBxk1NCiJJfu2mlQqa/b+k8GL6NG/3/zRbJnHdhV2VhxFghaDq5L4K+1dakW6cw==} dependencies: - '@babel/parser': 7.26.2 - '@vue/compiler-core': 3.5.13 - '@vue/compiler-dom': 3.5.13 - '@vue/compiler-ssr': 3.5.13 - '@vue/shared': 3.5.13 + '@babel/parser': 7.25.3 + '@vue/compiler-core': 3.4.26 + '@vue/compiler-dom': 3.4.26 + '@vue/compiler-ssr': 3.4.26 + '@vue/shared': 3.4.26 estree-walker: 2.0.2 - magic-string: 0.30.14 - postcss: 8.4.49 - source-map-js: 1.2.1 + magic-string: 0.30.10 + postcss: 8.4.38 + source-map-js: 1.2.0 dev: false - /@vue/compiler-ssr@3.5.13: - resolution: {integrity: sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==} + /@vue/compiler-ssr@3.4.26: + resolution: {integrity: sha512-FNwLfk7LlEPRY/g+nw2VqiDKcnDTVdCfBREekF8X74cPLiWHUX6oldktf/Vx28yh4STNy7t+/yuLoMBBF7YDiQ==} dependencies: - '@vue/compiler-dom': 3.5.13 - '@vue/shared': 3.5.13 + '@vue/compiler-dom': 3.4.26 + '@vue/shared': 3.4.26 dev: false - /@vue/reactivity@3.5.13: - resolution: {integrity: sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg==} + /@vue/reactivity@3.4.26: + resolution: {integrity: sha512-E/ynEAu/pw0yotJeLdvZEsp5Olmxt+9/WqzvKff0gE67tw73gmbx6tRkiagE/eH0UCubzSlGRebCbidB1CpqZQ==} dependencies: - '@vue/shared': 3.5.13 + '@vue/shared': 3.4.26 dev: false - /@vue/runtime-core@3.5.13: - resolution: {integrity: sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw==} + /@vue/runtime-core@3.4.26: + resolution: {integrity: sha512-AFJDLpZvhT4ujUgZSIL9pdNcO23qVFh7zWCsNdGQBw8ecLNxOOnPcK9wTTIYCmBJnuPHpukOwo62a2PPivihqw==} dependencies: - '@vue/reactivity': 3.5.13 - '@vue/shared': 3.5.13 + '@vue/reactivity': 3.4.26 + '@vue/shared': 3.4.26 dev: false - /@vue/runtime-dom@3.5.13: - resolution: {integrity: sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog==} + /@vue/runtime-dom@3.4.26: + resolution: {integrity: sha512-UftYA2hUXR2UOZD/Fc3IndZuCOOJgFxJsWOxDkhfVcwLbsfh2CdXE2tG4jWxBZuDAs9J9PzRTUFt1PgydEtItw==} dependencies: - '@vue/reactivity': 3.5.13 - '@vue/runtime-core': 3.5.13 - '@vue/shared': 3.5.13 + '@vue/runtime-core': 3.4.26 + '@vue/shared': 3.4.26 csstype: 3.1.3 dev: false - /@vue/server-renderer@3.5.13(vue@3.5.13): - resolution: {integrity: sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA==} + /@vue/server-renderer@3.4.26(vue@3.4.26): + resolution: {integrity: sha512-xoGAqSjYDPGAeRWxeoYwqJFD/gw7mpgzOvSxEmjWaFO2rE6qpbD1PC172YRpvKhrihkyHJkNDADFXTfCyVGhKw==} peerDependencies: - vue: 3.5.13 + vue: 3.4.26 dependencies: - '@vue/compiler-ssr': 3.5.13 - '@vue/shared': 3.5.13 - vue: 3.5.13(typescript@5.7.2) + '@vue/compiler-ssr': 3.4.26 + '@vue/shared': 3.4.26 + vue: 3.4.26(typescript@5.7.2) dev: false - /@vue/shared@3.5.13: - resolution: {integrity: sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==} + /@vue/shared@3.4.26: + resolution: {integrity: sha512-Fg4zwR0GNnjzodMt3KRy2AWGMKQXByl56+4HjN87soxLNU9P5xcJkstAlIeEF3cU6UYOzmJl1tV0dVPGIljCnQ==} dev: false /@webassemblyjs/ast@1.12.1: @@ -9930,34 +9954,15 @@ packages: dependencies: '@webassemblyjs/helper-numbers': 1.11.6 '@webassemblyjs/helper-wasm-bytecode': 1.11.6 - dev: true - - /@webassemblyjs/ast@1.14.1: - resolution: {integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==} - dependencies: - '@webassemblyjs/helper-numbers': 1.13.2 - '@webassemblyjs/helper-wasm-bytecode': 1.13.2 /@webassemblyjs/floating-point-hex-parser@1.11.6: resolution: {integrity: sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==} - dev: true - - /@webassemblyjs/floating-point-hex-parser@1.13.2: - resolution: {integrity: sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==} /@webassemblyjs/helper-api-error@1.11.6: resolution: {integrity: sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==} - dev: true - - /@webassemblyjs/helper-api-error@1.13.2: - resolution: {integrity: sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==} /@webassemblyjs/helper-buffer@1.12.1: resolution: {integrity: sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==} - dev: true - - /@webassemblyjs/helper-buffer@1.14.1: - resolution: {integrity: sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==} /@webassemblyjs/helper-numbers@1.11.6: resolution: {integrity: sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==} @@ -9965,21 +9970,9 @@ packages: '@webassemblyjs/floating-point-hex-parser': 1.11.6 '@webassemblyjs/helper-api-error': 1.11.6 '@xtuc/long': 4.2.2 - dev: true - - /@webassemblyjs/helper-numbers@1.13.2: - resolution: {integrity: sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==} - dependencies: - '@webassemblyjs/floating-point-hex-parser': 1.13.2 - '@webassemblyjs/helper-api-error': 1.13.2 - '@xtuc/long': 4.2.2 /@webassemblyjs/helper-wasm-bytecode@1.11.6: resolution: {integrity: sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==} - dev: true - - /@webassemblyjs/helper-wasm-bytecode@1.13.2: - resolution: {integrity: sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==} /@webassemblyjs/helper-wasm-section@1.12.1: resolution: {integrity: sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==} @@ -9988,44 +9981,19 @@ packages: '@webassemblyjs/helper-buffer': 1.12.1 '@webassemblyjs/helper-wasm-bytecode': 1.11.6 '@webassemblyjs/wasm-gen': 1.12.1 - dev: true - - /@webassemblyjs/helper-wasm-section@1.14.1: - resolution: {integrity: sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==} - dependencies: - '@webassemblyjs/ast': 1.14.1 - '@webassemblyjs/helper-buffer': 1.14.1 - '@webassemblyjs/helper-wasm-bytecode': 1.13.2 - '@webassemblyjs/wasm-gen': 1.14.1 /@webassemblyjs/ieee754@1.11.6: resolution: {integrity: sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==} dependencies: '@xtuc/ieee754': 1.2.0 - dev: true - - /@webassemblyjs/ieee754@1.13.2: - resolution: {integrity: sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==} - dependencies: - '@xtuc/ieee754': 1.2.0 /@webassemblyjs/leb128@1.11.6: resolution: {integrity: sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==} dependencies: '@xtuc/long': 4.2.2 - dev: true - - /@webassemblyjs/leb128@1.13.2: - resolution: {integrity: sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==} - dependencies: - '@xtuc/long': 4.2.2 /@webassemblyjs/utf8@1.11.6: resolution: {integrity: sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==} - dev: true - - /@webassemblyjs/utf8@1.13.2: - resolution: {integrity: sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==} /@webassemblyjs/wasm-edit@1.12.1: resolution: {integrity: sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==} @@ -10038,19 +10006,6 @@ packages: '@webassemblyjs/wasm-opt': 1.12.1 '@webassemblyjs/wasm-parser': 1.12.1 '@webassemblyjs/wast-printer': 1.12.1 - dev: true - - /@webassemblyjs/wasm-edit@1.14.1: - resolution: {integrity: sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==} - dependencies: - '@webassemblyjs/ast': 1.14.1 - '@webassemblyjs/helper-buffer': 1.14.1 - '@webassemblyjs/helper-wasm-bytecode': 1.13.2 - '@webassemblyjs/helper-wasm-section': 1.14.1 - '@webassemblyjs/wasm-gen': 1.14.1 - '@webassemblyjs/wasm-opt': 1.14.1 - '@webassemblyjs/wasm-parser': 1.14.1 - '@webassemblyjs/wast-printer': 1.14.1 /@webassemblyjs/wasm-gen@1.12.1: resolution: {integrity: sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==} @@ -10060,16 +10015,6 @@ packages: '@webassemblyjs/ieee754': 1.11.6 '@webassemblyjs/leb128': 1.11.6 '@webassemblyjs/utf8': 1.11.6 - dev: true - - /@webassemblyjs/wasm-gen@1.14.1: - resolution: {integrity: sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==} - dependencies: - '@webassemblyjs/ast': 1.14.1 - '@webassemblyjs/helper-wasm-bytecode': 1.13.2 - '@webassemblyjs/ieee754': 1.13.2 - '@webassemblyjs/leb128': 1.13.2 - '@webassemblyjs/utf8': 1.13.2 /@webassemblyjs/wasm-opt@1.12.1: resolution: {integrity: sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==} @@ -10078,15 +10023,6 @@ packages: '@webassemblyjs/helper-buffer': 1.12.1 '@webassemblyjs/wasm-gen': 1.12.1 '@webassemblyjs/wasm-parser': 1.12.1 - dev: true - - /@webassemblyjs/wasm-opt@1.14.1: - resolution: {integrity: sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==} - dependencies: - '@webassemblyjs/ast': 1.14.1 - '@webassemblyjs/helper-buffer': 1.14.1 - '@webassemblyjs/wasm-gen': 1.14.1 - '@webassemblyjs/wasm-parser': 1.14.1 /@webassemblyjs/wasm-parser@1.12.1: resolution: {integrity: sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==} @@ -10097,30 +10033,12 @@ packages: '@webassemblyjs/ieee754': 1.11.6 '@webassemblyjs/leb128': 1.11.6 '@webassemblyjs/utf8': 1.11.6 - dev: true - - /@webassemblyjs/wasm-parser@1.14.1: - resolution: {integrity: sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==} - dependencies: - '@webassemblyjs/ast': 1.14.1 - '@webassemblyjs/helper-api-error': 1.13.2 - '@webassemblyjs/helper-wasm-bytecode': 1.13.2 - '@webassemblyjs/ieee754': 1.13.2 - '@webassemblyjs/leb128': 1.13.2 - '@webassemblyjs/utf8': 1.13.2 /@webassemblyjs/wast-printer@1.12.1: resolution: {integrity: sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==} dependencies: '@webassemblyjs/ast': 1.12.1 '@xtuc/long': 4.2.2 - dev: true - - /@webassemblyjs/wast-printer@1.14.1: - resolution: {integrity: sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==} - dependencies: - '@webassemblyjs/ast': 1.14.1 - '@xtuc/long': 4.2.2 /@whatwg-node/events@0.0.3: resolution: {integrity: sha512-IqnKIDWfXBJkvy/k6tzskWTc2NK3LcqHlb+KHGCrjOCH4jfQckRX0NAiIcC/vIqQkzLYw2r2CTSwAxcrtcD6lA==} @@ -10161,7 +10079,7 @@ packages: '@kamilkisiela/fast-url-parser': 1.1.4 busboy: 1.6.0 fast-querystring: 1.1.2 - tslib: 2.8.1 + tslib: 2.7.0 dev: true /@xtuc/ieee754@1.2.0: @@ -10199,16 +10117,16 @@ packages: /acorn-globals@7.0.1: resolution: {integrity: sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==} dependencies: - acorn: 8.14.0 + acorn: 8.12.1 acorn-walk: 8.2.0 dev: false - /acorn-import-attributes@1.9.5(acorn@8.14.0): + /acorn-import-attributes@1.9.5(acorn@8.12.1): resolution: {integrity: sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==} peerDependencies: acorn: ^8 dependencies: - acorn: 8.14.0 + acorn: 8.12.1 /acorn-jsx-walk@2.0.0: resolution: {integrity: sha512-uuo6iJj4D4ygkdzd6jPtcxs8vZgDX9YFIkqczGImoypX2fQ4dVImmu3UzA4ynixCIMTrEOWW+95M2HuBaCEOVA==} @@ -10228,14 +10146,6 @@ packages: acorn: 8.14.0 dev: false - /acorn-typescript@1.4.13(acorn@8.14.0): - resolution: {integrity: sha512-xsc9Xv0xlVfwp2o7sQ+GCQ1PgbkdcpWdTzrwXxO3xDMTAywVS3oXVOcOHuRjAPkS4P9b+yc/qNF15460v+jp4Q==} - peerDependencies: - acorn: '>=8.9.0' - dependencies: - acorn: 8.14.0 - dev: false - /acorn-walk@8.2.0: resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} engines: {node: '>=0.4.0'} @@ -10252,6 +10162,11 @@ packages: engines: {node: '>=0.4.0'} hasBin: true + /acorn@8.12.1: + resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} + engines: {node: '>=0.4.0'} + hasBin: true + /acorn@8.14.0: resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} engines: {node: '>=0.4.0'} @@ -10321,7 +10236,7 @@ packages: indent-string: 5.0.0 dev: false - /ai@3.3.26(openai@4.58.2)(react@18.2.0)(svelte@5.4.0)(vue@3.5.13)(zod@3.23.8): + /ai@3.3.26(openai@4.58.2)(react@18.2.0)(svelte@4.2.15)(vue@3.4.26)(zod@3.23.8): resolution: {integrity: sha512-UOklRlYM7E/mr2WVtz3iluU4Ja68XYlMLEHL2mxggMcrnhN45E1seu2NXpjZsq1anyIkgBbHN14Lo0R4A9jt/A==} engines: {node: '>=18'} peerDependencies: @@ -10346,9 +10261,9 @@ packages: '@ai-sdk/provider-utils': 1.0.17(zod@3.23.8) '@ai-sdk/react': 0.0.54(react@18.2.0)(zod@3.23.8) '@ai-sdk/solid': 0.0.43(zod@3.23.8) - '@ai-sdk/svelte': 0.0.45(svelte@5.4.0)(zod@3.23.8) + '@ai-sdk/svelte': 0.0.45(svelte@4.2.15)(zod@3.23.8) '@ai-sdk/ui-utils': 0.0.40(zod@3.23.8) - '@ai-sdk/vue': 0.0.45(vue@3.5.13)(zod@3.23.8) + '@ai-sdk/vue': 0.0.45(vue@3.4.26)(zod@3.23.8) '@opentelemetry/api': 1.9.0 eventsource-parser: 1.1.2 json-schema: 0.4.0 @@ -10357,7 +10272,7 @@ packages: openai: 4.58.2(zod@3.23.8) react: 18.2.0 secure-json-parse: 2.7.0 - svelte: 5.4.0 + svelte: 4.2.15 zod: 3.23.8 zod-to-json-schema: 3.23.2(zod@3.23.8) transitivePeerDependencies: @@ -10565,7 +10480,7 @@ packages: resolution: {integrity: sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==} engines: {node: '>=10'} dependencies: - tslib: 2.8.1 + tslib: 2.7.0 dev: false /aria-query@5.3.0: @@ -10648,7 +10563,7 @@ packages: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 - es-abstract: 1.22.4 + es-abstract: 1.23.3 es-shim-unscopables: 1.0.2 dev: true @@ -10674,7 +10589,7 @@ packages: es-errors: 1.3.0 get-intrinsic: 1.2.4 is-array-buffer: 3.0.4 - is-shared-array-buffer: 1.0.2 + is-shared-array-buffer: 1.0.3 dev: true /arrify@1.0.1: @@ -10705,7 +10620,7 @@ packages: dependencies: pvtsutils: 1.3.5 pvutils: 1.1.3 - tslib: 2.8.1 + tslib: 2.7.0 dev: true /assert@2.1.0: @@ -10731,7 +10646,7 @@ packages: resolution: {integrity: sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==} engines: {node: '>=4'} dependencies: - tslib: 2.8.1 + tslib: 2.7.0 /astral-regex@2.0.0: resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} @@ -10778,7 +10693,7 @@ packages: postcss: ^8.1.0 dependencies: browserslist: 4.23.0 - caniuse-lite: 1.0.30001685 + caniuse-lite: 1.0.30001614 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.0.0 @@ -10849,6 +10764,16 @@ packages: - debug dev: false + /axios@1.7.9: + resolution: {integrity: sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==} + dependencies: + follow-redirects: 1.15.6 + form-data: 4.0.0 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + dev: false + /axobject-query@4.1.0: resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} engines: {node: '>= 0.4'} @@ -10875,7 +10800,7 @@ packages: - supports-color dev: true - /babel-loader@9.1.3(@babel/core@7.24.5)(webpack@5.96.1): + /babel-loader@9.1.3(@babel/core@7.24.5)(webpack@5.93.0): resolution: {integrity: sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==} engines: {node: '>= 14.15.0'} peerDependencies: @@ -10885,7 +10810,7 @@ packages: '@babel/core': 7.24.5 find-cache-dir: 4.0.0 schema-utils: 4.2.0 - webpack: 5.96.1(esbuild@0.21.5) + webpack: 5.93.0(esbuild@0.21.5) dev: true /babel-plugin-istanbul@6.1.1: @@ -10905,8 +10830,8 @@ packages: resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/template': 7.25.9 - '@babel/types': 7.26.0 + '@babel/template': 7.24.0 + '@babel/types': 7.24.5 '@types/babel__core': 7.20.5 '@types/babel__traverse': 7.20.6 dev: true @@ -10952,9 +10877,9 @@ packages: peerDependencies: styled-components: '>= 2' dependencies: - '@babel/helper-annotate-as-pure': 7.25.9 - '@babel/helper-module-imports': 7.25.9(supports-color@5.5.0) - '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.24.5) + '@babel/helper-annotate-as-pure': 7.24.7 + '@babel/helper-module-imports': 7.24.7(supports-color@5.5.0) + '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.24.5) lodash: 4.17.21 picomatch: 2.3.1 styled-components: 5.3.11(@babel/core@7.24.5)(react-dom@18.2.0)(react-is@18.3.1)(react@18.2.0) @@ -11271,7 +11196,7 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001685 + caniuse-lite: 1.0.30001614 electron-to-chromium: 1.4.676 node-releases: 2.0.14 update-browserslist-db: 1.0.13(browserslist@4.23.0) @@ -11281,21 +11206,11 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001685 + caniuse-lite: 1.0.30001646 electron-to-chromium: 1.5.4 node-releases: 2.0.18 update-browserslist-db: 1.1.0(browserslist@4.23.3) - /browserslist@4.24.2: - resolution: {integrity: sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true - dependencies: - caniuse-lite: 1.0.30001685 - electron-to-chromium: 1.5.68 - node-releases: 2.0.18 - update-browserslist-db: 1.1.1(browserslist@4.24.2) - /bs-logger@0.2.6: resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==} engines: {node: '>= 6'} @@ -11403,7 +11318,7 @@ packages: resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} dependencies: pascal-case: 3.1.2 - tslib: 2.8.1 + tslib: 2.7.0 dev: true /camelcase-css@2.0.1: @@ -11441,8 +11356,11 @@ packages: resolution: {integrity: sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==} dev: false - /caniuse-lite@1.0.30001685: - resolution: {integrity: sha512-e/kJN1EMyHQzgcMEEgoo+YTCO1NGCmIYHk5Qk8jT6AazWemS5QFKJ5ShCJlH3GZrNIdZofcNCEwZqbMjjKzmnA==} + /caniuse-lite@1.0.30001614: + resolution: {integrity: sha512-jmZQ1VpmlRwHgdP1/uiKzgiAuGOfLEJsYFP4+GBou/QQ4U6IOJCB4NP1c+1p9RGLpwObcT94jA5/uO+F1vBbog==} + + /caniuse-lite@1.0.30001646: + resolution: {integrity: sha512-dRg00gudiBDDTmUhClSdv3hqRfpbOnU28IpI1T6PBTLWa+kOj0681C8uML3PifYfREuBrVjDGhL3adYpBT6spw==} /canonicalize@1.0.8: resolution: {integrity: sha512-0CNTVCLZggSh7bc5VkX5WWPWO+cyZbNd07IHIsSXLia/eAq+r836hgk+8BKoEh7949Mda87VUOitx5OddVj64A==} @@ -11452,7 +11370,7 @@ packages: resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==} dependencies: no-case: 3.0.4 - tslib: 2.8.1 + tslib: 2.7.0 upper-case-first: 2.0.2 dev: true @@ -11568,7 +11486,7 @@ packages: path-case: 3.0.4 sentence-case: 3.0.4 snake-case: 3.0.4 - tslib: 2.8.1 + tslib: 2.7.0 dev: true /char-regex@1.0.2: @@ -11876,6 +11794,16 @@ packages: engines: {node: '>=0.10.0'} dev: false + /code-red@1.0.4: + resolution: {integrity: sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + '@types/estree': 1.0.5 + acorn: 8.12.1 + estree-walker: 3.0.3 + periscopic: 3.1.0 + dev: false + /cohere-ai@7.8.0: resolution: {integrity: sha512-iKNNCJDwnilaCNDFem9acVtsFCvY+6qq8V/LpP8PNwBYBWafWiQQYNrxeDhXMTHB5Qjpmzmkqboz755zRvxOMw==} dependencies: @@ -12076,7 +12004,7 @@ packages: resolution: {integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==} dependencies: no-case: 3.0.4 - tslib: 2.8.1 + tslib: 2.7.0 upper-case: 2.0.2 dev: true @@ -12304,7 +12232,7 @@ packages: sha.js: 2.4.11 dev: true - /create-jest@29.7.0(@types/node@20.17.9)(ts-node@10.9.2): + /create-jest@29.7.0(@types/node@20.17.10)(ts-node@10.9.2): resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -12313,7 +12241,7 @@ packages: chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@20.17.9)(ts-node@10.9.2) + jest-config: 29.7.0(@types/node@20.17.10)(ts-node@10.9.2) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -12371,6 +12299,7 @@ packages: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 + dev: true /crypt@0.0.2: resolution: {integrity: sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==} @@ -12434,29 +12363,6 @@ packages: webpack: 5.93.0(esbuild@0.21.5) dev: true - /css-loader@6.11.0(webpack@5.96.1): - resolution: {integrity: sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==} - engines: {node: '>= 12.13.0'} - peerDependencies: - '@rspack/core': 0.x || 1.x - webpack: ^5.0.0 - peerDependenciesMeta: - '@rspack/core': - optional: true - webpack: - optional: true - dependencies: - icss-utils: 5.1.0(postcss@8.4.38) - postcss: 8.4.38 - postcss-modules-extract-imports: 3.1.0(postcss@8.4.38) - postcss-modules-local-by-default: 4.0.5(postcss@8.4.38) - postcss-modules-scope: 3.2.0(postcss@8.4.38) - postcss-modules-values: 4.0.0(postcss@8.4.38) - postcss-value-parser: 4.2.0 - semver: 7.6.3 - webpack: 5.96.1(esbuild@0.21.5) - dev: true - /css-select@4.3.0: resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} dependencies: @@ -12485,6 +12391,14 @@ packages: postcss-value-parser: 4.2.0 dev: false + /css-tree@2.3.1: + resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} + dependencies: + mdn-data: 2.0.30 + source-map-js: 1.2.0 + dev: false + /css-what@6.1.0: resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} engines: {node: '>= 6'} @@ -12853,8 +12767,8 @@ packages: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} engines: {node: '>= 0.8'} - /dependency-cruiser@16.7.0: - resolution: {integrity: sha512-522LLjHINl9r0RIZ8/6s6TqIHTuEJG3XDU2WPSm9dG0rvLUYVyQwE9ID31tDFs4OOyEhdOPaqAaAG1jRv/Zwbg==} + /dependency-cruiser@16.8.0: + resolution: {integrity: sha512-VyBzIrLHfG7rT36URln+CTy8VSjrLB7YDlMx5vtBSHRHCOXgLUCcP4n5ZoD+s166T0i5LN33q1CvBkEOGsDTSg==} engines: {node: ^18.17||>=20} hasBin: true dependencies: @@ -13010,7 +12924,7 @@ packages: resolution: {integrity: sha512-Rlr/wPTDh+xQpFew3m4zYQ5OWEZO36HItyPCUbGdicB+ar4zIgseeJdqfcZIY0uQtMSrhGRpSFOTjii7h9cpHw==} engines: {node: '>=10'} dependencies: - '@types/node': 20.17.9 + '@types/node': 20.17.10 jszip: 3.10.1 nanoid: 4.0.2 xml: 1.0.1 @@ -13101,7 +13015,7 @@ packages: resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} dependencies: no-case: 3.0.4 - tslib: 2.8.1 + tslib: 2.7.0 /dot-prop@5.3.0: resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} @@ -13139,6 +13053,11 @@ packages: resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} engines: {node: '>=12'} + /drange@1.1.1: + resolution: {integrity: sha512-pYxfDYpued//QpnLIm4Avk7rsNtAtQkUES2cwAYSvD/wd2pKD71gN2Ebj3e7klzXwjocvE8c5vx/1fxwpqmSxA==} + engines: {node: '>=4'} + dev: false + /dset@3.1.4: resolution: {integrity: sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA==} engines: {node: '>=4'} @@ -13185,9 +13104,6 @@ packages: /electron-to-chromium@1.5.4: resolution: {integrity: sha512-orzA81VqLyIGUEA77YkVA1D+N+nNfl2isJVjjmOyrlxuooZ19ynb+dOlaDTqd/idKRS9lDCSBmtzM+kyCsMnkA==} - /electron-to-chromium@1.5.68: - resolution: {integrity: sha512-FgMdJlma0OzUYlbrtZ4AeXjKxKPk6KT8WOP8BjcqxWtlg8qyJQjRzPJzUtUn5GBg1oQ26hFs7HOOHJMYiJRnvQ==} - /elliptic@6.5.6: resolution: {integrity: sha512-mpzdtpeCLuS3BmE3pO3Cpp5bbjlOPY2Q0PgoF+Od1XZrHLYI28Xe3ossCmYCQt11FQKEYd9+PF8jymTvtWJSHQ==} dependencies: @@ -13289,33 +13205,38 @@ packages: stackframe: 1.3.4 dev: true - /es-abstract@1.22.4: - resolution: {integrity: sha512-vZYJlk2u6qHYxBOTjAeg7qUxHdNfih64Uu2J8QqWgXZ2cri0ZpJAkzDUK/q593+mvKwlxyaxr6F1Q+3LKoQRgg==} + /es-abstract@1.23.3: + resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} engines: {node: '>= 0.4'} dependencies: array-buffer-byte-length: 1.0.1 arraybuffer.prototype.slice: 1.0.3 available-typed-arrays: 1.0.7 call-bind: 1.0.7 + data-view-buffer: 1.0.1 + data-view-byte-length: 1.0.1 + data-view-byte-offset: 1.0.0 es-define-property: 1.0.0 es-errors: 1.3.0 - es-set-tostringtag: 2.0.2 + es-object-atoms: 1.0.0 + es-set-tostringtag: 2.0.3 es-to-primitive: 1.2.1 function.prototype.name: 1.1.6 get-intrinsic: 1.2.4 get-symbol-description: 1.0.2 - globalthis: 1.0.3 + globalthis: 1.0.4 gopd: 1.0.1 has-property-descriptors: 1.0.2 - has-proto: 1.0.1 + has-proto: 1.0.3 has-symbols: 1.0.3 hasown: 2.0.2 internal-slot: 1.0.7 is-array-buffer: 3.0.4 is-callable: 1.2.7 - is-negative-zero: 2.0.2 + is-data-view: 1.0.1 + is-negative-zero: 2.0.3 is-regex: 1.1.4 - is-shared-array-buffer: 1.0.2 + is-shared-array-buffer: 1.0.3 is-string: 1.0.7 is-typed-array: 1.1.13 is-weakref: 1.0.2 @@ -13323,73 +13244,21 @@ packages: object-keys: 1.1.1 object.assign: 4.1.5 regexp.prototype.flags: 1.5.2 - safe-array-concat: 1.1.0 + safe-array-concat: 1.1.2 safe-regex-test: 1.0.3 - string.prototype.trim: 1.2.8 + string.prototype.trim: 1.2.9 string.prototype.trimend: 1.0.8 - string.prototype.trimstart: 1.0.7 + string.prototype.trimstart: 1.0.8 typed-array-buffer: 1.0.2 - typed-array-byte-length: 1.0.0 - typed-array-byte-offset: 1.0.1 - typed-array-length: 1.0.4 + typed-array-byte-length: 1.0.1 + typed-array-byte-offset: 1.0.2 + typed-array-length: 1.0.6 unbox-primitive: 1.0.2 - which-typed-array: 1.1.14 + which-typed-array: 1.1.15 dev: true - /es-abstract@1.23.3: - resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} - engines: {node: '>= 0.4'} - dependencies: - array-buffer-byte-length: 1.0.1 - arraybuffer.prototype.slice: 1.0.3 - available-typed-arrays: 1.0.7 - call-bind: 1.0.7 - data-view-buffer: 1.0.1 - data-view-byte-length: 1.0.1 - data-view-byte-offset: 1.0.0 - es-define-property: 1.0.0 - es-errors: 1.3.0 - es-object-atoms: 1.0.0 - es-set-tostringtag: 2.0.3 - es-to-primitive: 1.2.1 - function.prototype.name: 1.1.6 - get-intrinsic: 1.2.4 - get-symbol-description: 1.0.2 - globalthis: 1.0.4 - gopd: 1.0.1 - has-property-descriptors: 1.0.2 - has-proto: 1.0.3 - has-symbols: 1.0.3 - hasown: 2.0.2 - internal-slot: 1.0.7 - is-array-buffer: 3.0.4 - is-callable: 1.2.7 - is-data-view: 1.0.1 - is-negative-zero: 2.0.3 - is-regex: 1.1.4 - is-shared-array-buffer: 1.0.3 - is-string: 1.0.7 - is-typed-array: 1.1.13 - is-weakref: 1.0.2 - object-inspect: 1.13.1 - object-keys: 1.1.1 - object.assign: 4.1.5 - regexp.prototype.flags: 1.5.2 - safe-array-concat: 1.1.2 - safe-regex-test: 1.0.3 - string.prototype.trim: 1.2.9 - string.prototype.trimend: 1.0.8 - string.prototype.trimstart: 1.0.8 - typed-array-buffer: 1.0.2 - typed-array-byte-length: 1.0.1 - typed-array-byte-offset: 1.0.2 - typed-array-length: 1.0.6 - unbox-primitive: 1.0.2 - which-typed-array: 1.1.15 - dev: true - - /es-define-property@1.0.0: - resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} + /es-define-property@1.0.0: + resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} engines: {node: '>= 0.4'} dependencies: get-intrinsic: 1.2.4 @@ -13442,15 +13311,6 @@ packages: es-errors: 1.3.0 dev: true - /es-set-tostringtag@2.0.2: - resolution: {integrity: sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==} - engines: {node: '>= 0.4'} - dependencies: - get-intrinsic: 1.2.4 - has-tostringtag: 1.0.2 - hasown: 2.0.2 - dev: true - /es-set-tostringtag@2.0.3: resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} engines: {node: '>= 0.4'} @@ -13527,10 +13387,6 @@ packages: resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} engines: {node: '>=6'} - /escalade@3.2.0: - resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} - engines: {node: '>=6'} - /escape-goat@4.0.0: resolution: {integrity: sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==} engines: {node: '>=12'} @@ -13570,7 +13426,7 @@ packages: source-map: 0.6.1 dev: false - /eslint-config-next@15.0.3(eslint@9.16.0)(typescript@5.7.2): + /eslint-config-next@15.0.3(eslint@9.17.0)(typescript@5.7.2): resolution: {integrity: sha512-IGP2DdQQrgjcr4mwFPve4DrCqo7CVVez1WoYY47XwKSrYO4hC0Dlb+iJA60i0YfICOzgNADIb8r28BpQ5Zs0wg==} peerDependencies: eslint: ^7.23.0 || ^8.0.0 || ^9.0.0 @@ -13581,28 +13437,28 @@ packages: dependencies: '@next/eslint-plugin-next': 15.0.3 '@rushstack/eslint-patch': 1.10.4 - '@typescript-eslint/eslint-plugin': 8.17.0(@typescript-eslint/parser@8.17.0)(eslint@9.16.0)(typescript@5.7.2) - '@typescript-eslint/parser': 8.17.0(eslint@9.16.0)(typescript@5.7.2) - eslint: 9.16.0 + '@typescript-eslint/eslint-plugin': 8.18.1(@typescript-eslint/parser@8.18.1)(eslint@9.17.0)(typescript@5.7.2) + '@typescript-eslint/parser': 8.18.1(eslint@9.17.0)(typescript@5.7.2) + eslint: 9.17.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.5.2(eslint-plugin-import@2.31.0)(eslint@9.16.0) - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.17.0)(eslint-import-resolver-typescript@3.5.2)(eslint@9.16.0) - eslint-plugin-jsx-a11y: 6.10.2(eslint@9.16.0) - eslint-plugin-react: 7.37.2(eslint@9.16.0) - eslint-plugin-react-hooks: 5.0.0(eslint@9.16.0) + eslint-import-resolver-typescript: 3.5.2(eslint-plugin-import@2.31.0)(eslint@9.17.0) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.18.1)(eslint-import-resolver-typescript@3.5.2)(eslint@9.17.0) + eslint-plugin-jsx-a11y: 6.10.2(eslint@9.17.0) + eslint-plugin-react: 7.37.2(eslint@9.17.0) + eslint-plugin-react-hooks: 5.0.0(eslint@9.17.0) typescript: 5.7.2 transitivePeerDependencies: - eslint-import-resolver-webpack - supports-color dev: true - /eslint-config-prettier@9.1.0(eslint@9.16.0): + /eslint-config-prettier@9.1.0(eslint@9.17.0): resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 9.16.0 + eslint: 9.17.0 dev: true /eslint-import-resolver-node@0.3.9: @@ -13615,7 +13471,7 @@ packages: - supports-color dev: true - /eslint-import-resolver-typescript@3.5.2(eslint-plugin-import@2.31.0)(eslint@9.16.0): + /eslint-import-resolver-typescript@3.5.2(eslint-plugin-import@2.31.0)(eslint@9.17.0): resolution: {integrity: sha512-zX4ebnnyXiykjhcBvKIf5TNvt8K7yX6bllTRZ14MiurKPjDpCAZujlszTdB8pcNXhZcOf+god4s9SjQa5GnytQ==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -13624,8 +13480,8 @@ packages: dependencies: debug: 4.3.7(supports-color@5.5.0) enhanced-resolve: 5.17.1 - eslint: 9.16.0 - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.17.0)(eslint-import-resolver-typescript@3.5.2)(eslint@9.16.0) + eslint: 9.17.0 + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.18.1)(eslint-import-resolver-typescript@3.5.2)(eslint@9.17.0) get-tsconfig: 4.7.5 globby: 13.1.2 is-core-module: 2.15.1 @@ -13635,7 +13491,7 @@ packages: - supports-color dev: true - /eslint-module-utils@2.12.0(@typescript-eslint/parser@8.17.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.5.2)(eslint@9.16.0): + /eslint-module-utils@2.12.0(@typescript-eslint/parser@8.18.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.5.2)(eslint@9.17.0): resolution: {integrity: sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg==} engines: {node: '>=4'} peerDependencies: @@ -13656,16 +13512,16 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 8.17.0(eslint@9.16.0)(typescript@5.7.2) + '@typescript-eslint/parser': 8.18.1(eslint@9.17.0)(typescript@5.7.2) debug: 3.2.7 - eslint: 9.16.0 + eslint: 9.17.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.5.2(eslint-plugin-import@2.31.0)(eslint@9.16.0) + eslint-import-resolver-typescript: 3.5.2(eslint-plugin-import@2.31.0)(eslint@9.17.0) transitivePeerDependencies: - supports-color dev: true - /eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.17.0)(eslint-import-resolver-typescript@3.5.2)(eslint@9.16.0): + /eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.18.1)(eslint-import-resolver-typescript@3.5.2)(eslint@9.17.0): resolution: {integrity: sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A==} engines: {node: '>=4'} peerDependencies: @@ -13676,16 +13532,16 @@ packages: optional: true dependencies: '@rtsao/scc': 1.1.0 - '@typescript-eslint/parser': 8.17.0(eslint@9.16.0)(typescript@5.7.2) + '@typescript-eslint/parser': 8.18.1(eslint@9.17.0)(typescript@5.7.2) array-includes: 3.1.8 array.prototype.findlastindex: 1.2.5 array.prototype.flat: 1.3.2 array.prototype.flatmap: 1.3.2 debug: 3.2.7 doctrine: 2.1.0 - eslint: 9.16.0 + eslint: 9.17.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.17.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.5.2)(eslint@9.16.0) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.18.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.5.2)(eslint@9.17.0) hasown: 2.0.2 is-core-module: 2.15.1 is-glob: 4.0.3 @@ -13702,7 +13558,7 @@ packages: - supports-color dev: true - /eslint-plugin-jest@28.9.0(@typescript-eslint/eslint-plugin@8.17.0)(eslint@9.16.0)(typescript@5.7.2): + /eslint-plugin-jest@28.9.0(@typescript-eslint/eslint-plugin@8.18.1)(eslint@9.17.0)(typescript@5.7.2): resolution: {integrity: sha512-rLu1s1Wf96TgUUxSw6loVIkNtUjq1Re7A9QdCCHSohnvXEBAjuL420h0T/fMmkQlNsQP2GhQzEUpYHPfxBkvYQ==} engines: {node: ^16.10.0 || ^18.12.0 || >=20.0.0} peerDependencies: @@ -13715,15 +13571,15 @@ packages: jest: optional: true dependencies: - '@typescript-eslint/eslint-plugin': 8.17.0(@typescript-eslint/parser@8.17.0)(eslint@9.16.0)(typescript@5.7.2) - '@typescript-eslint/utils': 8.17.0(eslint@9.16.0)(typescript@5.7.2) - eslint: 9.16.0 + '@typescript-eslint/eslint-plugin': 8.18.1(@typescript-eslint/parser@8.18.1)(eslint@9.17.0)(typescript@5.7.2) + '@typescript-eslint/utils': 7.18.0(eslint@9.17.0)(typescript@5.7.2) + eslint: 9.17.0 transitivePeerDependencies: - supports-color - typescript dev: true - /eslint-plugin-jsx-a11y@6.10.2(eslint@9.16.0): + /eslint-plugin-jsx-a11y@6.10.2(eslint@9.17.0): resolution: {integrity: sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==} engines: {node: '>=4.0'} peerDependencies: @@ -13737,7 +13593,7 @@ packages: axobject-query: 4.1.0 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 - eslint: 9.16.0 + eslint: 9.17.0 hasown: 2.0.2 jsx-ast-utils: 3.3.5 language-tags: 1.0.9 @@ -13747,7 +13603,7 @@ packages: string.prototype.includes: 2.0.1 dev: true - /eslint-plugin-prettier@5.2.1(eslint-config-prettier@9.1.0)(eslint@9.16.0)(prettier@3.4.1): + /eslint-plugin-prettier@5.2.1(eslint-config-prettier@9.1.0)(eslint@9.17.0)(prettier@3.4.2): resolution: {integrity: sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -13761,23 +13617,23 @@ packages: eslint-config-prettier: optional: true dependencies: - eslint: 9.16.0 - eslint-config-prettier: 9.1.0(eslint@9.16.0) - prettier: 3.4.1 + eslint: 9.17.0 + eslint-config-prettier: 9.1.0(eslint@9.17.0) + prettier: 3.4.2 prettier-linter-helpers: 1.0.0 synckit: 0.9.2 dev: true - /eslint-plugin-react-hooks@5.0.0(eslint@9.16.0): + /eslint-plugin-react-hooks@5.0.0(eslint@9.17.0): resolution: {integrity: sha512-hIOwI+5hYGpJEc4uPRmz2ulCjAGD/N13Lukkh8cLV0i2IRk/bdZDYjgLVHj+U9Z704kLIdIO6iueGvxNur0sgw==} engines: {node: '>=10'} peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 dependencies: - eslint: 9.16.0 + eslint: 9.17.0 dev: true - /eslint-plugin-react@7.37.2(eslint@9.16.0): + /eslint-plugin-react@7.37.2(eslint@9.17.0): resolution: {integrity: sha512-EsTAnj9fLVr/GZleBLFbj/sSuXeWmp1eXIN60ceYnZveqEaUCyW4X+Vh4WTdUhCkW4xutXYqTXCUSyqD4rB75w==} engines: {node: '>=4'} peerDependencies: @@ -13789,7 +13645,7 @@ packages: array.prototype.tosorted: 1.1.4 doctrine: 2.1.0 es-iterator-helpers: 1.1.0 - eslint: 9.16.0 + eslint: 9.17.0 estraverse: 5.3.0 hasown: 2.0.2 jsx-ast-utils: 3.3.5 @@ -13804,28 +13660,28 @@ packages: string.prototype.repeat: 1.0.0 dev: true - /eslint-plugin-storybook@0.11.1(eslint@9.16.0)(typescript@5.7.2): + /eslint-plugin-storybook@0.11.1(eslint@9.17.0)(typescript@5.7.2): resolution: {integrity: sha512-yGKpAYkBm/Q2hZg476vRUAvd9lAccjjSvzU5nYy3BSQbKTPy7uopx7JEpwk2vSuw4weTMZzWF64z9/gp/K5RCg==} engines: {node: '>= 18'} peerDependencies: eslint: '>=6' dependencies: '@storybook/csf': 0.1.11 - '@typescript-eslint/utils': 8.17.0(eslint@9.16.0)(typescript@5.7.2) - eslint: 9.16.0 + '@typescript-eslint/utils': 8.18.1(eslint@9.17.0)(typescript@5.7.2) + eslint: 9.17.0 ts-dedent: 2.2.0 transitivePeerDependencies: - supports-color - typescript dev: true - /eslint-plugin-turbo@2.3.3(eslint@9.16.0): + /eslint-plugin-turbo@2.3.3(eslint@9.17.0): resolution: {integrity: sha512-j8UEA0Z+NNCsjZep9G5u5soDQHcXq/x4amrwulk6eHF1U91H2qAjp5I4jQcvJewmccCJbVp734PkHHTRnosjpg==} peerDependencies: eslint: '>6.6.0' dependencies: dotenv: 16.0.3 - eslint: 9.16.0 + eslint: 9.17.0 dev: true /eslint-scope@5.1.1: @@ -13853,8 +13709,8 @@ packages: engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dev: true - /eslint@9.16.0: - resolution: {integrity: sha512-whp8mSQI4C8VXd+fLgSM0lh3UlmcFtVwUQjyKCFfsp+2ItAIYhlq/hqGahGqHE6cv9unM41VlqKk2VtKYR2TaA==} + /eslint@9.17.0: + resolution: {integrity: sha512-evtlNcpJg+cZLcnVKwsai8fExnqjGPicK7gnUtlNuzu+Fv9bI0aLpND5T44VLQtoMEnI57LoXO9XAkIXwohKrA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true peerDependencies: @@ -13863,13 +13719,13 @@ packages: jiti: optional: true dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.16.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.17.0) '@eslint-community/regexpp': 4.12.1 - '@eslint/config-array': 0.19.0 - '@eslint/core': 0.9.0 + '@eslint/config-array': 0.19.1 + '@eslint/core': 0.9.1 '@eslint/eslintrc': 3.2.0 - '@eslint/js': 9.16.0 - '@eslint/plugin-kit': 0.2.3 + '@eslint/js': 9.17.0 + '@eslint/plugin-kit': 0.2.4 '@humanfs/node': 0.16.6 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.4.1 @@ -13901,10 +13757,6 @@ packages: - supports-color dev: true - /esm-env@1.2.1: - resolution: {integrity: sha512-U9JedYYjCnadUlXk7e1Kr+aENQhtUaoaV9+gZm1T8LC/YBAPJx3NSPIAurFOC0U5vrdSevnUJS2/wUVxGwPhng==} - dev: false - /espree@10.3.0: resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -13926,13 +13778,6 @@ packages: estraverse: 5.3.0 dev: true - /esrap@1.2.3: - resolution: {integrity: sha512-ZlQmCCK+n7SGoqo7DnfKaP1sJZa49P01/dXzmjCASSo04p72w8EksT2NMK8CEX8DhKsfJXANioIw8VyHNsBfvQ==} - dependencies: - '@jridgewell/sourcemap-codec': 1.5.0 - '@types/estree': 1.0.6 - dev: false - /esrecurse@4.3.0: resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} engines: {node: '>=4.0'} @@ -13954,8 +13799,7 @@ packages: /estree-walker@3.0.3: resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} dependencies: - '@types/estree': 1.0.6 - dev: true + '@types/estree': 1.0.5 /esutils@2.0.3: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} @@ -14025,7 +13869,7 @@ packages: resolution: {integrity: sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==} engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0} dependencies: - cross-spawn: 7.0.6 + cross-spawn: 7.0.3 get-stream: 6.0.1 human-signals: 4.3.1 is-stream: 3.0.0 @@ -14387,7 +14231,7 @@ packages: resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} engines: {node: ^10.12.0 || >=12.0.0} dependencies: - flatted: 3.3.2 + flatted: 3.2.7 rimraf: 3.0.2 dev: true @@ -14404,6 +14248,10 @@ packages: hasBin: true dev: false + /flatted@3.2.7: + resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} + dev: true + /flatted@3.3.2: resolution: {integrity: sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==} dev: true @@ -14427,7 +14275,7 @@ packages: resolution: {integrity: sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==} engines: {node: '>=14'} dependencies: - cross-spawn: 7.0.6 + cross-spawn: 7.0.3 signal-exit: 4.1.0 dev: false @@ -14438,7 +14286,7 @@ packages: typescript: '>3.6.0' webpack: ^5.11.0 dependencies: - '@babel/code-frame': 7.26.2 + '@babel/code-frame': 7.24.7 chalk: 4.1.2 chokidar: 3.6.0 cosmiconfig: 7.1.0 @@ -14672,7 +14520,7 @@ packages: function-bind: 1.1.2 has-proto: 1.0.1 has-symbols: 1.0.3 - hasown: 2.0.2 + hasown: 2.0.1 /get-it@8.6.5: resolution: {integrity: sha512-o1hjPwrb/icm3WJbCweTSq8mKuDfJlqwbFauI+Pdgid99at/BFaBXFBJZE+uqvHyOVARE4z680S44vrDm8SsCw==} @@ -14845,18 +14693,11 @@ packages: engines: {node: '>=18'} dev: true - /globals@15.13.0: - resolution: {integrity: sha512-49TewVEz0UxZjr1WYYsWpPrhyC/B/pA8Bq0fUmet2n+eR7yn0IvNzNaoBwnK6mdkzcN+se7Ez9zUgULTz2QH4g==} + /globals@15.14.0: + resolution: {integrity: sha512-OkToC372DtlQeje9/zHIo5CT8lRP/FUgEOKBEhU4e0abL7J7CD24fD9ohiLN5hagG/kWCYj4K5oaxxtj2Z0Dig==} engines: {node: '>=18'} dev: true - /globalthis@1.0.3: - resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} - engines: {node: '>= 0.4'} - dependencies: - define-properties: 1.2.1 - dev: true - /globalthis@1.0.4: resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} engines: {node: '>= 0.4'} @@ -14886,7 +14727,7 @@ packages: dependencies: dir-glob: 3.0.1 fast-glob: 3.3.2 - ignore: 5.3.2 + ignore: 5.2.4 merge2: 1.4.1 slash: 4.0.0 @@ -14988,7 +14829,7 @@ packages: yargs: 5.0.0 dev: false - /graphql-config@5.1.2(@types/node@20.17.9)(graphql@16.9.0)(typescript@5.7.2): + /graphql-config@5.1.2(@types/node@20.17.10)(graphql@16.9.0)(typescript@5.7.2): resolution: {integrity: sha512-kVwUuFz1h9u7B0nDPtnLFWN+x018niaH3zi1ChFCNfbunhDVJ911Z3YcglK5EfDfySeeH+zCa1aGxd1wMgNd7g==} engines: {node: '>= 16.0.0'} peerDependencies: @@ -15002,7 +14843,7 @@ packages: '@graphql-tools/json-file-loader': 8.0.1(graphql@16.9.0) '@graphql-tools/load': 8.0.2(graphql@16.9.0) '@graphql-tools/merge': 9.0.7(graphql@16.9.0) - '@graphql-tools/url-loader': 8.0.2(@types/node@20.17.9)(graphql@16.9.0) + '@graphql-tools/url-loader': 8.0.2(@types/node@20.17.10)(graphql@16.9.0) '@graphql-tools/utils': 10.5.4(graphql@16.9.0) cosmiconfig: 9.0.0(typescript@5.7.2) graphql: 16.9.0 @@ -15111,7 +14952,7 @@ packages: source-map: 0.6.1 wordwrap: 1.0.0 optionalDependencies: - uglify-js: 3.19.3 + uglify-js: 3.17.4 dev: false /hard-rejection@2.1.0: @@ -15182,6 +15023,12 @@ packages: inherits: 2.0.4 minimalistic-assert: 1.0.1 + /hasown@2.0.1: + resolution: {integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==} + engines: {node: '>= 0.4'} + dependencies: + function-bind: 1.1.2 + /hasown@2.0.2: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} @@ -15238,7 +15085,7 @@ packages: resolution: {integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==} dependencies: capital-case: 1.0.4 - tslib: 2.8.1 + tslib: 2.7.0 dev: true /headers-polyfill@4.0.3: @@ -15508,6 +15355,10 @@ packages: minimatch: 5.1.6 dev: true + /ignore@5.2.4: + resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} + engines: {node: '>= 4'} + /ignore@5.3.2: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} @@ -15547,8 +15398,8 @@ packages: /import-in-the-middle@1.10.0: resolution: {integrity: sha512-Z1jumVdF2GwnnYfM0a/y2ts7mZbwFMgt5rRuVmLgobgahC6iKgN5MBuXjzfTIOUpq5LSU10vJIPpVKe0X89fIw==} dependencies: - acorn: 8.14.0 - acorn-import-attributes: 1.9.5(acorn@8.14.0) + acorn: 8.12.1 + acorn-import-attributes: 1.9.5(acorn@8.12.1) cjs-module-lexer: 1.3.1 module-details-from-path: 1.0.3 dev: false @@ -15556,8 +15407,8 @@ packages: /import-in-the-middle@1.11.2: resolution: {integrity: sha512-gK6Rr6EykBcc6cVWRSBR5TWf8nn6hZMYSRYqCcHa0l0d1fPK7JSYo6+Mlmck76jIX9aL/IZ71c06U2VpFwl1zA==} dependencies: - acorn: 8.14.0 - acorn-import-attributes: 1.9.5(acorn@8.14.0) + acorn: 8.12.1 + acorn-import-attributes: 1.9.5(acorn@8.12.1) cjs-module-lexer: 1.3.1 module-details-from-path: 1.0.3 dev: false @@ -15738,7 +15589,7 @@ packages: engines: {node: '>= 0.4'} dependencies: es-errors: 1.3.0 - hasown: 2.0.2 + hasown: 2.0.1 side-channel: 1.0.4 /interpret@3.1.1: @@ -15871,7 +15722,7 @@ packages: /is-core-module@2.13.1: resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} dependencies: - hasown: 2.0.2 + hasown: 2.0.1 /is-core-module@2.15.1: resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} @@ -16014,7 +15865,7 @@ packages: /is-lower-case@2.0.2: resolution: {integrity: sha512-bVcMJy4X5Og6VZfdOZstSexlEy20Sr0k/p/b2IlQJlfdKAQuMpiv5w2Ccxb8sKdRUNAG1PnHVHjFSdRDVS6NlQ==} dependencies: - tslib: 2.8.1 + tslib: 2.7.0 dev: true /is-map@2.0.2: @@ -16028,11 +15879,6 @@ packages: define-properties: 1.2.1 dev: true - /is-negative-zero@2.0.2: - resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} - engines: {node: '>= 0.4'} - dev: true - /is-negative-zero@2.0.3: resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} engines: {node: '>= 0.4'} @@ -16087,13 +15933,13 @@ packages: /is-reference@1.2.1: resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} dependencies: - '@types/estree': 1.0.6 + '@types/estree': 1.0.5 dev: false - /is-reference@3.0.3: - resolution: {integrity: sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw==} + /is-reference@3.0.2: + resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==} dependencies: - '@types/estree': 1.0.6 + '@types/estree': 1.0.5 dev: false /is-regex@1.1.4: @@ -16122,6 +15968,7 @@ packages: resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} dependencies: call-bind: 1.0.7 + dev: false /is-shared-array-buffer@1.0.3: resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} @@ -16197,7 +16044,7 @@ packages: /is-upper-case@2.0.2: resolution: {integrity: sha512-44pxmxAvnnAOwBg4tHPnkfvgjPwbc5QIsSstNU+YcJ1ovxVzCWpSGosPJOZh/a1tdl81fbgnLc9LLv+x2ywbPQ==} dependencies: - tslib: 2.8.1 + tslib: 2.7.0 dev: true /is-utf8@0.2.1: @@ -16292,7 +16139,7 @@ packages: engines: {node: '>=8'} dependencies: '@babel/core': 7.24.5 - '@babel/parser': 7.26.2 + '@babel/parser': 7.25.3 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 semver: 6.3.1 @@ -16305,7 +16152,7 @@ packages: engines: {node: '>=10'} dependencies: '@babel/core': 7.24.5 - '@babel/parser': 7.26.2 + '@babel/parser': 7.24.5 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 semver: 7.6.3 @@ -16401,7 +16248,7 @@ packages: '@jest/expect': 29.7.0 '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.17.9 + '@types/node': 20.17.10 chalk: 4.1.2 co: 4.6.0 dedent: 1.5.3 @@ -16422,7 +16269,7 @@ packages: - supports-color dev: true - /jest-cli@29.7.0(@types/node@20.17.9)(ts-node@10.9.2): + /jest-cli@29.7.0(@types/node@20.17.10)(ts-node@10.9.2): resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -16436,10 +16283,10 @@ packages: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@20.17.9)(ts-node@10.9.2) + create-jest: 29.7.0(@types/node@20.17.10)(ts-node@10.9.2) exit: 0.1.2 import-local: 3.1.0 - jest-config: 29.7.0(@types/node@20.17.9)(ts-node@10.9.2) + jest-config: 29.7.0(@types/node@20.17.10)(ts-node@10.9.2) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -16450,7 +16297,7 @@ packages: - ts-node dev: true - /jest-config@29.7.0(@types/node@20.17.9)(ts-node@10.9.2): + /jest-config@29.7.0(@types/node@20.17.10)(ts-node@10.9.2): resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: @@ -16465,7 +16312,7 @@ packages: '@babel/core': 7.24.5 '@jest/test-sequencer': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.17.9 + '@types/node': 20.17.10 babel-jest: 29.7.0(@babel/core@7.24.5) chalk: 4.1.2 ci-info: 3.9.0 @@ -16485,7 +16332,7 @@ packages: pretty-format: 29.7.0 slash: 3.0.0 strip-json-comments: 3.1.1 - ts-node: 10.9.2(@types/node@20.17.9)(typescript@5.7.2) + ts-node: 10.9.2(@types/node@20.17.10)(typescript@5.7.2) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -16530,7 +16377,7 @@ packages: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 '@types/jsdom': 20.0.1 - '@types/node': 20.17.9 + '@types/node': 20.17.10 jest-mock: 29.7.0 jest-util: 29.7.0 jsdom: 20.0.3 @@ -16547,7 +16394,7 @@ packages: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.17.9 + '@types/node': 20.17.10 jest-mock: 29.7.0 jest-util: 29.7.0 dev: true @@ -16562,7 +16409,7 @@ packages: dependencies: '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.9 - '@types/node': 20.17.9 + '@types/node': 20.17.10 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -16596,7 +16443,7 @@ packages: resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/code-frame': 7.24.2 + '@babel/code-frame': 7.24.7 '@jest/types': 29.6.3 '@types/stack-utils': 2.0.3 chalk: 4.1.2 @@ -16611,7 +16458,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.17.9 + '@types/node': 20.17.10 jest-util: 29.7.0 /jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): @@ -16665,7 +16512,7 @@ packages: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.17.9 + '@types/node': 20.17.10 chalk: 4.1.2 emittery: 0.13.1 graceful-fs: 4.2.11 @@ -16696,7 +16543,7 @@ packages: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.17.9 + '@types/node': 20.17.10 chalk: 4.1.2 cjs-module-lexer: 1.3.1 collect-v8-coverage: 1.0.2 @@ -16720,10 +16567,10 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@babel/core': 7.24.5 - '@babel/generator': 7.26.2 + '@babel/generator': 7.25.0 '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.24.5) '@babel/plugin-syntax-typescript': 7.24.7(@babel/core@7.24.5) - '@babel/types': 7.26.0 + '@babel/types': 7.25.2 '@jest/expect-utils': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 @@ -16759,7 +16606,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.17.9 + '@types/node': 20.17.10 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -16783,7 +16630,7 @@ packages: dependencies: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.17.9 + '@types/node': 20.17.10 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.13.1 @@ -16795,7 +16642,7 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.17.9 + '@types/node': 20.17.10 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -16803,13 +16650,13 @@ packages: resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@types/node': 20.17.9 + '@types/node': 20.17.10 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true - /jest@29.7.0(@types/node@20.17.9)(ts-node@10.9.2): + /jest@29.7.0(@types/node@20.17.10)(ts-node@10.9.2): resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -16822,7 +16669,7 @@ packages: '@jest/core': 29.7.0(ts-node@10.9.2) '@jest/types': 29.6.3 import-local: 3.1.0 - jest-cli: 29.7.0(@types/node@20.17.9)(ts-node@10.9.2) + jest-cli: 29.7.0(@types/node@20.17.10)(ts-node@10.9.2) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -16909,7 +16756,7 @@ packages: optional: true dependencies: abab: 2.0.6 - acorn: 8.14.0 + acorn: 8.12.1 acorn-globals: 7.0.1 cssom: 0.5.0 cssstyle: 2.3.0 @@ -16949,12 +16796,6 @@ packages: resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} engines: {node: '>=4'} hasBin: true - dev: true - - /jsesc@3.0.2: - resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} - engines: {node: '>=6'} - hasBin: true /json-bigint@1.0.0: resolution: {integrity: sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==} @@ -17833,7 +17674,7 @@ packages: /lower-case-first@2.0.2: resolution: {integrity: sha512-EVm/rR94FJTZi3zefZ82fLWab+GX14LJN4HrWBcuo6Evmsl9hEfnqxgcHCKb9q+mNf6EVdsjx/qucYFIIB84pg==} dependencies: - tslib: 2.8.1 + tslib: 2.7.0 dev: true /lower-case@1.1.4: @@ -17843,7 +17684,7 @@ packages: /lower-case@2.0.2: resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} dependencies: - tslib: 2.8.1 + tslib: 2.7.0 /lowercase-keys@3.0.0: resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==} @@ -17893,12 +17734,6 @@ packages: dependencies: '@jridgewell/sourcemap-codec': 1.4.15 - /magic-string@0.30.14: - resolution: {integrity: sha512-5c99P1WKTed11ZC0HMJOj6CDIue6F8ySu+bJL+85q1zBEIY8IklrJ1eiKC2NDRh3Ct3FcvmJPyQHb9erXMTJNw==} - dependencies: - '@jridgewell/sourcemap-codec': 1.5.0 - dev: false - /magic-string@0.30.8: resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==} engines: {node: '>=12'} @@ -18130,6 +17965,10 @@ packages: '@types/mdast': 4.0.2 dev: false + /mdn-data@2.0.30: + resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} + dev: false + /media-chrome@3.2.5: resolution: {integrity: sha512-tTsgS7x77Bn4p/wca/Si/7A+Q3z9DzKq0SOkroQvrNMXBVyQasMayDcsKg5Ur5NGsymZfttnJi7tXvVr/tPj8g==} dev: false @@ -18194,7 +18033,7 @@ packages: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} - /meros@1.3.0(@types/node@20.17.9): + /meros@1.3.0(@types/node@20.17.10): resolution: {integrity: sha512-2BNGOimxEz5hmjUG2FwoxCt5HN7BXdaWyFqEwxPTrJzVdABtrL4TiHTcsWSFAxPQ/tOnEaQEJh3qWq71QRMY+w==} engines: {node: '>=13'} peerDependencies: @@ -18203,7 +18042,7 @@ packages: '@types/node': optional: true dependencies: - '@types/node': 20.17.9 + '@types/node': 20.17.10 dev: true /methods@1.1.2: @@ -18698,10 +18537,10 @@ packages: msw: ^2.0.0 dependencies: is-node-process: 1.2.0 - msw: 2.6.5(@types/node@20.17.9)(typescript@5.7.2) + msw: 2.6.5(@types/node@20.17.10)(typescript@5.7.2) dev: true - /msw@2.6.5(@types/node@20.17.9)(typescript@5.7.2): + /msw@2.6.5(@types/node@20.17.10)(typescript@5.7.2): resolution: {integrity: sha512-PnlnTpUlOrj441kYQzzFhzMzMCGFT6a2jKUBG7zSpLkYS5oh8Arrbc0dL8/rNAtxaoBy0EVs2mFqj2qdmWK7lQ==} engines: {node: '>=18'} hasBin: true @@ -18715,7 +18554,7 @@ packages: '@bundled-es-modules/cookie': 2.0.1 '@bundled-es-modules/statuses': 1.0.1 '@bundled-es-modules/tough-cookie': 0.1.6 - '@inquirer/confirm': 5.0.2(@types/node@20.17.9) + '@inquirer/confirm': 5.0.2(@types/node@20.17.10) '@mswjs/interceptors': 0.37.1 '@open-draft/deferred-promise': 2.2.0 '@open-draft/until': 2.1.0 @@ -18770,12 +18609,6 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - /nanoid@3.3.8: - resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - dev: false - /nanoid@4.0.2: resolution: {integrity: sha512-7ZtY5KTCNheRGfEFxnedV5zFiORN1+Y1N6zvPTnHQd8ENUvfaDBeuJDZb2bN/oXwXxu3qkTXDzy57W5vAmDTBw==} engines: {node: ^14 || ^16 || >=18} @@ -18837,7 +18670,7 @@ packages: '@playwright/test': 1.47.2 '@swc/helpers': 0.5.5 busboy: 1.6.0 - caniuse-lite: 1.0.30001685 + caniuse-lite: 1.0.30001646 graceful-fs: 4.2.11 postcss: 8.4.31 react: 18.2.0 @@ -18857,7 +18690,7 @@ packages: - '@babel/core' - babel-plugin-macros - /next@14.2.18(@babel/core@7.26.0)(@opentelemetry/api@1.9.0)(react-dom@18.2.0)(react@18.2.0): + /next@14.2.18(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-H9qbjDuGivUDEnK6wa+p2XKO+iMzgVgyr9Zp/4Iv29lKa+DYaxJGjOeEA+5VOvJh/M7HLiskehInSa0cWxVXUw==} engines: {node: '>=18.17.0'} hasBin: true @@ -18876,15 +18709,14 @@ packages: optional: true dependencies: '@next/env': 14.2.18 - '@opentelemetry/api': 1.9.0 '@swc/helpers': 0.5.5 busboy: 1.6.0 - caniuse-lite: 1.0.30001685 + caniuse-lite: 1.0.30001646 graceful-fs: 4.2.11 postcss: 8.4.31 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - styled-jsx: 5.1.1(@babel/core@7.26.0)(react@18.2.0) + styled-jsx: 5.1.1(@babel/core@7.24.5)(react@18.2.0) optionalDependencies: '@next/swc-darwin-arm64': 14.2.18 '@next/swc-darwin-x64': 14.2.18 @@ -18910,7 +18742,7 @@ packages: resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} dependencies: lower-case: 2.0.2 - tslib: 2.8.1 + tslib: 2.7.0 /nocache@3.0.4: resolution: {integrity: sha512-WDD0bdg9mbq6F4mRxEYcPWwfA1vxd0mrvKOyxI7Xj/atfRHVeutzuWByG//jfm4uPzp0y4Kj051EORCBSQMycw==} @@ -19024,7 +18856,7 @@ packages: type-is: 1.6.18 dev: false - /node-polyfill-webpack-plugin@2.0.1(webpack@5.96.1): + /node-polyfill-webpack-plugin@2.0.1(webpack@5.93.0): resolution: {integrity: sha512-ZUMiCnZkP1LF0Th2caY6J/eKKoA0TefpoVa68m/LQU1I/mE8rGt4fNYGgNuCcK+aG8P8P43nbeJ2RqJMOL/Y1A==} engines: {node: '>=12'} peerDependencies: @@ -19055,7 +18887,7 @@ packages: url: 0.11.4 util: 0.12.5 vm-browserify: 1.1.2 - webpack: 5.96.1(esbuild@0.21.5) + webpack: 5.93.0(esbuild@0.21.5) dev: true /node-releases@2.0.14: @@ -19652,7 +19484,7 @@ packages: resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} dependencies: dot-case: 3.0.4 - tslib: 2.8.1 + tslib: 2.7.0 dev: true /parent-module@1.0.1: @@ -19731,7 +19563,7 @@ packages: resolution: {integrity: sha512-SgOTCX/EZXtZxBE5eJ97P4yGM5n37BwRU+YMsH4vNzFqJV/oWFXXCmwFlgWUM4PrakybVOueJJ6pwHqSVhTFDw==} engines: {node: '>=16'} dependencies: - '@babel/code-frame': 7.26.2 + '@babel/code-frame': 7.24.2 error-ex: 1.3.2 json-parse-even-better-errors: 3.0.1 lines-and-columns: 2.0.4 @@ -19770,7 +19602,7 @@ packages: resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} dependencies: no-case: 3.0.4 - tslib: 2.8.1 + tslib: 2.7.0 dev: true /path-browserify@1.0.1: @@ -19787,7 +19619,7 @@ packages: resolution: {integrity: sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==} dependencies: dot-case: 3.0.4 - tslib: 2.8.1 + tslib: 2.7.0 dev: true /path-exists@2.1.0: @@ -19889,6 +19721,14 @@ packages: sha.js: 2.4.11 dev: true + /periscopic@3.1.0: + resolution: {integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==} + dependencies: + '@types/estree': 1.0.5 + estree-walker: 3.0.3 + is-reference: 3.0.2 + dev: false + /pg-int8@1.0.1: resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} engines: {node: '>=4.0.0'} @@ -19912,8 +19752,12 @@ packages: /picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + /picocolors@1.0.1: + resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} + /picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + dev: false /picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} @@ -20111,10 +19955,10 @@ packages: dependencies: lilconfig: 2.1.0 postcss: 8.4.35 - ts-node: 10.9.2(@types/node@20.17.9)(typescript@5.7.2) + ts-node: 10.9.2(@types/node@20.17.10)(typescript@5.7.2) yaml: 2.3.4 - /postcss-loader@8.1.1(postcss@8.4.38)(typescript@5.7.2)(webpack@5.96.1): + /postcss-loader@8.1.1(postcss@8.4.38)(typescript@5.7.2)(webpack@5.93.0): resolution: {integrity: sha512-0IeqyAsG6tYiDRCYKQJLAmgQr47DX6N7sFSWvQxt6AcupX8DIdmykuk/o/tx0Lze3ErGHJEp5OSRxrelC6+NdQ==} engines: {node: '>= 18.12.0'} peerDependencies: @@ -20131,7 +19975,7 @@ packages: jiti: 1.21.6 postcss: 8.4.38 semver: 7.6.3 - webpack: 5.96.1(esbuild@0.21.5) + webpack: 5.93.0(esbuild@0.21.5) transitivePeerDependencies: - typescript dev: true @@ -20209,7 +20053,7 @@ packages: engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.7 - picocolors: 1.1.1 + picocolors: 1.0.1 source-map-js: 1.2.0 /postcss@8.4.35: @@ -20225,18 +20069,8 @@ packages: engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.7 - picocolors: 1.1.1 + picocolors: 1.0.1 source-map-js: 1.2.0 - dev: true - - /postcss@8.4.49: - resolution: {integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==} - engines: {node: ^10 || ^12 || >=14} - dependencies: - nanoid: 3.3.8 - picocolors: 1.1.1 - source-map-js: 1.2.1 - dev: false /postgres-array@2.0.0: resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} @@ -20260,8 +20094,8 @@ packages: xtend: 4.0.2 dev: false - /posthog-js@1.201.0: - resolution: {integrity: sha512-5LG4i36eYykIj5FYaQQ1vmSOriVeiswCNPUAPkpnq4ccmavu8y5L+QIxaX98ACmDAW7DkUDS05yUjYWmd84tzQ==} + /posthog-js@1.202.2: + resolution: {integrity: sha512-9p7dAWuCfoM0WrasubGwtC8i38HU3iMqK3gd0mhyAoTrEVMVozTQq64Toc2VEv8H69NGNn6ikk5t2LclHT9XFA==} dependencies: core-js: 3.39.0 fflate: 0.4.8 @@ -20273,7 +20107,7 @@ packages: resolution: {integrity: sha512-vy8Mt9IEfniUgqQ1rOCQ31CBO1VNqDGd3ZtHlWR9/YfU6RiuK+9pUXPb4h6HTGzQmjL8NFnjd8K8NMXSX8S6MQ==} engines: {node: '>=15.0.0'} dependencies: - axios: 1.7.7 + axios: 1.7.9 rusha: 0.8.14 transitivePeerDependencies: - debug @@ -20308,7 +20142,7 @@ packages: fast-diff: 1.3.0 dev: true - /prettier-plugin-tailwindcss@0.6.9(@trivago/prettier-plugin-sort-imports@4.3.0)(prettier@3.4.1): + /prettier-plugin-tailwindcss@0.6.9(@trivago/prettier-plugin-sort-imports@4.3.0)(prettier@3.4.2): resolution: {integrity: sha512-r0i3uhaZAXYP0At5xGfJH876W3HHGHDp+LCRUJrs57PBeQ6mYHMwr25KH8NPX44F2yGTvdnH7OqCshlQx183Eg==} engines: {node: '>=14.21.3'} peerDependencies: @@ -20363,12 +20197,12 @@ packages: prettier-plugin-svelte: optional: true dependencies: - '@trivago/prettier-plugin-sort-imports': 4.3.0(prettier@3.4.1) - prettier: 3.4.1 + '@trivago/prettier-plugin-sort-imports': 4.3.0(prettier@3.4.2) + prettier: 3.4.2 dev: true - /prettier@3.4.1: - resolution: {integrity: sha512-G+YdqtITVZmOJje6QkXQWzl3fSfMxFwm1tjTyo9exhkmWSqC4Yhd1+lug++IlR2mvRVAxEDDWYkQdeSztajqgg==} + /prettier@3.4.2: + resolution: {integrity: sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==} engines: {node: '>=14'} hasBin: true @@ -20500,7 +20334,7 @@ packages: '@protobufjs/path': 1.1.2 '@protobufjs/pool': 1.1.0 '@protobufjs/utf8': 1.1.0 - '@types/node': 20.17.9 + '@types/node': 20.17.10 long: 5.2.3 dev: false @@ -20562,7 +20396,7 @@ packages: /pvtsutils@1.3.5: resolution: {integrity: sha512-ARvb14YB9Nm2Xi6nBq1ZX6dAM0FsJnuk+31aUp4TrcZEdKUlSqOqsxJHUPJDNE3qiIp+iUPEIeR6Je/tgV7zsA==} dependencies: - tslib: 2.8.1 + tslib: 2.7.0 dev: true /pvutils@1.1.3: @@ -20635,6 +20469,14 @@ packages: resolution: {integrity: sha512-tEF5I22zJnuclswcZMc8bDIrwRHRzf+NqVEmqg50ShAZMP7MWeR/RGDthfM/p+BlqvF2fXAzpn8i+SJcYD3alw==} dev: false + /randexp@0.5.3: + resolution: {integrity: sha512-U+5l2KrcMNOUPYvazA3h5ekF80FHTUG+87SEAmHZmolh1M+i/WyTCxVzmi+tidIa1tM4BSe8g2Y/D3loWDjj+w==} + engines: {node: '>=4'} + dependencies: + drange: 1.1.1 + ret: 0.2.2 + dev: false + /randombytes@2.1.0: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} dependencies: @@ -20692,8 +20534,8 @@ packages: engines: {node: '>=16.14.0'} dependencies: '@babel/core': 7.24.5 - '@babel/traverse': 7.25.9(supports-color@5.5.0) - '@babel/types': 7.26.0 + '@babel/traverse': 7.25.3(supports-color@5.5.0) + '@babel/types': 7.25.2 '@types/babel__core': 7.20.5 '@types/babel__traverse': 7.20.6 '@types/doctrine': 0.0.9 @@ -20787,38 +20629,38 @@ packages: engines: {node: '>=0.10.0'} dev: true - /react-remove-scroll-bar@2.3.6(@types/react@18.2.57)(react@18.2.0): - resolution: {integrity: sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g==} + /react-remove-scroll-bar@2.3.8(@types/react@18.2.57)(react@18.2.0): + resolution: {integrity: sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==} engines: {node: '>=10'} peerDependencies: - '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 peerDependenciesMeta: '@types/react': optional: true dependencies: '@types/react': 18.2.57 react: 18.2.0 - react-style-singleton: 2.2.1(@types/react@18.2.57)(react@18.2.0) - tslib: 2.8.1 + react-style-singleton: 2.2.3(@types/react@18.2.57)(react@18.2.0) + tslib: 2.7.0 dev: false - /react-remove-scroll@2.6.0(@types/react@18.2.57)(react@18.2.0): - resolution: {integrity: sha512-I2U4JVEsQenxDAKaVa3VZ/JeJZe0/2DxPWL8Tj8yLKctQJQiZM52pn/GWFpSp8dftjM3pSAHVJZscAnC/y+ySQ==} + /react-remove-scroll@2.6.2(@types/react@18.2.57)(react@18.2.0): + resolution: {integrity: sha512-KmONPx5fnlXYJQqC62Q+lwIeAk64ws/cUw6omIumRzMRPqgnYqhSSti99nbj0Ry13bv7dF+BKn7NB+OqkdZGTw==} engines: {node: '>=10'} peerDependencies: - '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true dependencies: '@types/react': 18.2.57 react: 18.2.0 - react-remove-scroll-bar: 2.3.6(@types/react@18.2.57)(react@18.2.0) + react-remove-scroll-bar: 2.3.8(@types/react@18.2.57)(react@18.2.0) react-style-singleton: 2.2.1(@types/react@18.2.57)(react@18.2.0) - tslib: 2.8.1 - use-callback-ref: 1.3.2(@types/react@18.2.57)(react@18.2.0) + tslib: 2.7.0 + use-callback-ref: 1.3.3(@types/react@18.2.57)(react@18.2.0) use-sidecar: 1.1.2(@types/react@18.2.57)(react@18.2.0) dev: false @@ -20836,7 +20678,23 @@ packages: get-nonce: 1.0.1 invariant: 2.2.4 react: 18.2.0 - tslib: 2.8.1 + tslib: 2.7.0 + dev: false + + /react-style-singleton@2.2.3(@types/react@18.2.57)(react@18.2.0): + resolution: {integrity: sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==} + engines: {node: '>=10'} + peerDependencies: + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@types/react': 18.2.57 + get-nonce: 1.0.1 + react: 18.2.0 + tslib: 2.7.0 dev: false /react-syntax-highlighter@15.5.0(react@18.2.0): @@ -20996,7 +20854,7 @@ packages: esprima: 4.0.1 source-map: 0.6.1 tiny-invariant: 1.3.3 - tslib: 2.8.1 + tslib: 2.7.0 /rechoir@0.8.0: resolution: {integrity: sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==} @@ -21027,7 +20885,7 @@ packages: es-abstract: 1.23.3 es-errors: 1.3.0 get-intrinsic: 1.2.4 - globalthis: 1.0.3 + globalthis: 1.0.4 which-builtin-type: 1.1.3 dev: true @@ -21277,7 +21135,7 @@ packages: resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} hasBin: true dependencies: - is-core-module: 2.15.1 + is-core-module: 2.13.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 @@ -21319,6 +21177,11 @@ packages: onetime: 5.1.2 signal-exit: 3.0.7 + /ret@0.2.2: + resolution: {integrity: sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==} + engines: {node: '>=4'} + dev: false + /retry-request@7.0.2: resolution: {integrity: sha512-dUOvLMJ0/JJYEn8NrpOaGNE7X3vpI5XlZS/u0ANjqtcZVKnIxP7IgCFwrKTxENw29emmwug53awKtaMm4i9g5w==} engines: {node: '>=14'} @@ -21407,16 +21270,6 @@ packages: dependencies: tslib: 2.7.0 - /safe-array-concat@1.1.0: - resolution: {integrity: sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg==} - engines: {node: '>=0.4'} - dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.4 - has-symbols: 1.0.3 - isarray: 2.0.5 - dev: true - /safe-array-concat@1.1.2: resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} engines: {node: '>=0.4'} @@ -21456,7 +21309,7 @@ packages: /safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - /sass-loader@13.3.3(webpack@5.96.1): + /sass-loader@13.3.3(webpack@5.93.0): resolution: {integrity: sha512-mt5YN2F1MOZr3d/wBRcZxeFgwgkH44wVc2zohO2YF6JiOMkiXe4BYRZpSu2sO1g71mo/j16txzUhsKZlqjVGzA==} engines: {node: '>= 14.15.0'} peerDependencies: @@ -21476,7 +21329,7 @@ packages: optional: true dependencies: neo-async: 2.6.2 - webpack: 5.96.1(esbuild@0.21.5) + webpack: 5.93.0(esbuild@0.21.5) dev: true /sax@1.3.0: @@ -21499,7 +21352,7 @@ packages: resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/json-schema': 7.0.15 + '@types/json-schema': 7.0.13 ajv: 6.12.6 ajv-keywords: 3.5.2(ajv@6.12.6) @@ -21507,7 +21360,7 @@ packages: resolution: {integrity: sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==} engines: {node: '>= 12.13.0'} dependencies: - '@types/json-schema': 7.0.15 + '@types/json-schema': 7.0.13 ajv: 8.17.1 ajv-formats: 2.1.1(ajv@8.17.1) ajv-keywords: 5.1.0(ajv@8.17.1) @@ -21643,7 +21496,7 @@ packages: resolution: {integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==} dependencies: no-case: 3.0.4 - tslib: 2.8.1 + tslib: 2.7.0 upper-case-first: 2.0.2 dev: true @@ -21725,34 +21578,34 @@ packages: resolution: {integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==} dev: false - /sharp@0.33.5: - resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==} - engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + /sharp@0.33.4: + resolution: {integrity: sha512-7i/dt5kGl7qR4gwPRD2biwD2/SvBn3O04J77XKFgL2OnZtQw+AG9wnuS/csmu80nPRHLYE9E41fyEiG8nhH6/Q==} + engines: {libvips: '>=8.15.2', node: ^18.17.0 || ^20.3.0 || >=21.0.0} requiresBuild: true dependencies: color: 4.2.3 detect-libc: 2.0.3 semver: 7.6.3 optionalDependencies: - '@img/sharp-darwin-arm64': 0.33.5 - '@img/sharp-darwin-x64': 0.33.5 - '@img/sharp-libvips-darwin-arm64': 1.0.4 - '@img/sharp-libvips-darwin-x64': 1.0.4 - '@img/sharp-libvips-linux-arm': 1.0.5 - '@img/sharp-libvips-linux-arm64': 1.0.4 - '@img/sharp-libvips-linux-s390x': 1.0.4 - '@img/sharp-libvips-linux-x64': 1.0.4 - '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 - '@img/sharp-libvips-linuxmusl-x64': 1.0.4 - '@img/sharp-linux-arm': 0.33.5 - '@img/sharp-linux-arm64': 0.33.5 - '@img/sharp-linux-s390x': 0.33.5 - '@img/sharp-linux-x64': 0.33.5 - '@img/sharp-linuxmusl-arm64': 0.33.5 - '@img/sharp-linuxmusl-x64': 0.33.5 - '@img/sharp-wasm32': 0.33.5 - '@img/sharp-win32-ia32': 0.33.5 - '@img/sharp-win32-x64': 0.33.5 + '@img/sharp-darwin-arm64': 0.33.4 + '@img/sharp-darwin-x64': 0.33.4 + '@img/sharp-libvips-darwin-arm64': 1.0.2 + '@img/sharp-libvips-darwin-x64': 1.0.2 + '@img/sharp-libvips-linux-arm': 1.0.2 + '@img/sharp-libvips-linux-arm64': 1.0.2 + '@img/sharp-libvips-linux-s390x': 1.0.2 + '@img/sharp-libvips-linux-x64': 1.0.2 + '@img/sharp-libvips-linuxmusl-arm64': 1.0.2 + '@img/sharp-libvips-linuxmusl-x64': 1.0.2 + '@img/sharp-linux-arm': 0.33.4 + '@img/sharp-linux-arm64': 0.33.4 + '@img/sharp-linux-s390x': 0.33.4 + '@img/sharp-linux-x64': 0.33.4 + '@img/sharp-linuxmusl-arm64': 0.33.4 + '@img/sharp-linuxmusl-x64': 0.33.4 + '@img/sharp-wasm32': 0.33.4 + '@img/sharp-win32-ia32': 0.33.4 + '@img/sharp-win32-x64': 0.33.4 dev: true optional: true @@ -21893,7 +21746,7 @@ packages: resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} dependencies: dot-case: 3.0.4 - tslib: 2.8.1 + tslib: 2.7.0 /snakecase-keys@5.4.4: resolution: {integrity: sha512-YTywJG93yxwHLgrYLZjlC75moVEX04LZM4FHfihjHe1FCXm+QaLOFfSf535aXOAd0ArVQMWUAe8ZPm4VtWyXaA==} @@ -21961,11 +21814,6 @@ packages: resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} engines: {node: '>=0.10.0'} - /source-map-js@1.2.1: - resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} - engines: {node: '>=0.10.0'} - dev: false - /source-map-support@0.5.13: resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} dependencies: @@ -22060,18 +21908,18 @@ packages: /sponge-case@1.0.1: resolution: {integrity: sha512-dblb9Et4DAtiZ5YSUZHLl4XhH4uK80GhAZrVXdN4O2P4gQ40Wa5UIOPUHlA/nFd2PLblBZWUioLMMAVrgpoYcA==} dependencies: - tslib: 2.8.1 + tslib: 2.7.0 dev: true /sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - /sswr@2.1.0(svelte@5.4.0): + /sswr@2.1.0(svelte@4.2.15): resolution: {integrity: sha512-Cqc355SYlTAaUt8iDPaC/4DPPXK925PePLMxyBKuWd5kKc5mwsG3nT9+Mq2tyguL5s7b4Jg+IRMpTRsNTAfpSQ==} peerDependencies: svelte: ^4.0.0 || ^5.0.0-next.0 dependencies: - svelte: 5.4.0 + svelte: 4.2.15 swrev: 4.0.0 dev: false @@ -22114,7 +21962,7 @@ packages: internal-slot: 1.0.7 dev: false - /storybook@8.4.1(prettier@3.4.1): + /storybook@8.4.1(prettier@3.4.2): resolution: {integrity: sha512-0tfFIFghjho9FtnFoiJMoxhcs2iIdvEF81GTSVnTsDVJrYA84nB+FxN3UY1fT0BcQ8BFlbf+OhSjZL7ufqqWKA==} hasBin: true peerDependencies: @@ -22123,8 +21971,8 @@ packages: prettier: optional: true dependencies: - '@storybook/core': 8.4.1(prettier@3.4.1) - prettier: 3.4.1 + '@storybook/core': 8.4.1(prettier@3.4.2) + prettier: 3.4.2 transitivePeerDependencies: - bufferutil - supports-color @@ -22274,15 +22122,6 @@ packages: es-abstract: 1.23.3 dev: true - /string.prototype.trim@1.2.8: - resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - dev: true - /string.prototype.trim@1.2.9: resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} engines: {node: '>= 0.4'} @@ -22301,14 +22140,6 @@ packages: es-object-atoms: 1.0.0 dev: true - /string.prototype.trimstart@1.0.7: - resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.3 - dev: true - /string.prototype.trimstart@1.0.8: resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} engines: {node: '>= 0.4'} @@ -22428,15 +22259,6 @@ packages: webpack: 5.93.0(esbuild@0.21.5) dev: true - /style-loader@3.3.4(webpack@5.96.1): - resolution: {integrity: sha512-0WqXzrsMTyb8yjZJHDqwmnwRJvhALK9LfRtRc6B4UTWe8AijYLZYZ9thuJTZc2VfQWINADW/j+LiJnfy2RoC1w==} - engines: {node: '>= 12.13.0'} - peerDependencies: - webpack: ^5.0.0 - dependencies: - webpack: 5.96.1(esbuild@0.21.5) - dev: true - /style-to-object@0.4.4: resolution: {integrity: sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==} dependencies: @@ -22451,9 +22273,9 @@ packages: react-dom: '>= 16.8.0' react-is: '>= 16.8.0' dependencies: - '@babel/helper-module-imports': 7.25.9(supports-color@5.5.0) - '@babel/traverse': 7.25.9(supports-color@5.5.0) - '@emotion/is-prop-valid': 1.3.1 + '@babel/helper-module-imports': 7.24.7(supports-color@5.5.0) + '@babel/traverse': 7.25.3(supports-color@5.5.0) + '@emotion/is-prop-valid': 1.2.2 '@emotion/stylis': 0.8.5 '@emotion/unitless': 0.7.5 babel-plugin-styled-components: 2.1.4(@babel/core@7.24.5)(styled-components@5.3.11)(supports-color@5.5.0) @@ -22485,24 +22307,6 @@ packages: client-only: 0.0.1 react: 18.2.0 - /styled-jsx@5.1.1(@babel/core@7.26.0)(react@18.2.0): - resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} - engines: {node: '>= 12.0.0'} - peerDependencies: - '@babel/core': '*' - babel-plugin-macros: '*' - react: '>= 16.8.0 || 17.x.x || ^18.0.0-0' - peerDependenciesMeta: - '@babel/core': - optional: true - babel-plugin-macros: - optional: true - dependencies: - '@babel/core': 7.26.0 - client-only: 0.0.1 - react: 18.2.0 - dev: false - /styled-jsx@5.1.6(@babel/core@7.24.5)(react@18.2.0): resolution: {integrity: sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==} engines: {node: '>= 12.0.0'} @@ -22571,23 +22375,24 @@ packages: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - /svelte@5.4.0: - resolution: {integrity: sha512-2I/mjD8cXDpKfdfUK+T6yo/OzugMXIm8lhyJUFM5F/gICMYnkl3C/+4cOSpia8TqpDsi6Qfm5+fdmBNMNmaf2g==} - engines: {node: '>=18'} + /svelte@4.2.15: + resolution: {integrity: sha512-j9KJSccHgLeRERPlhMKrCXpk2TqL2m5Z+k+OBTQhZOhIdCCd3WfqV+ylPWeipEwq17P/ekiSFWwrVQv93i3bsg==} + engines: {node: '>=16'} dependencies: '@ampproject/remapping': 2.3.0 - '@jridgewell/sourcemap-codec': 1.5.0 - '@types/estree': 1.0.6 - acorn: 8.14.0 - acorn-typescript: 1.4.13(acorn@8.14.0) + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.25 + '@types/estree': 1.0.5 + acorn: 8.12.1 aria-query: 5.3.2 axobject-query: 4.1.0 - esm-env: 1.2.1 - esrap: 1.2.3 - is-reference: 3.0.3 + code-red: 1.0.4 + css-tree: 2.3.1 + estree-walker: 3.0.3 + is-reference: 3.0.2 locate-character: 3.0.0 - magic-string: 0.30.14 - zimmerframe: 1.1.2 + magic-string: 0.30.10 + periscopic: 3.1.0 dev: false /svix-fetch@3.0.0: @@ -22621,7 +22426,7 @@ packages: /swap-case@2.0.2: resolution: {integrity: sha512-kc6S2YS/2yXbtkSMunBtKdah4VFETZ8Oh6ONSmSd9bRxhqTrtARUCBUiWXH3xVPpvR7tz2CSnkuXVE42EcGnMw==} dependencies: - tslib: 2.8.1 + tslib: 2.7.0 dev: true /swr@2.2.5(react@18.2.0): @@ -22638,12 +22443,12 @@ packages: resolution: {integrity: sha512-LqVcOHSB4cPGgitD1riJ1Hh4vdmITOp+BkmfmXRh4hSF/t7EnS4iD+SOTmq7w5pPm/SiPeto4ADbKS6dHUDWFA==} dev: false - /swrv@1.0.4(vue@3.5.13): + /swrv@1.0.4(vue@3.4.26): resolution: {integrity: sha512-zjEkcP8Ywmj+xOJW3lIT65ciY/4AL4e/Or7Gj0MzU3zBJNMdJiT8geVZhINavnlHRMMCcJLHhraLTAiDOTmQ9g==} peerDependencies: vue: '>=3.2.26 < 4' dependencies: - vue: 3.5.13(typescript@5.7.2) + vue: 3.4.26(typescript@5.7.2) dev: false /symbol-tree@3.2.4: @@ -22655,7 +22460,7 @@ packages: engines: {node: ^14.18.0 || >=16.0.0} dependencies: '@pkgr/utils': 2.3.1 - tslib: 2.8.1 + tslib: 2.7.0 dev: true /synckit@0.9.2: @@ -22663,7 +22468,7 @@ packages: engines: {node: ^14.18.0 || >=16.0.0} dependencies: '@pkgr/core': 0.1.1 - tslib: 2.8.1 + tslib: 2.7.0 dev: true /tailwind-merge@2.2.1: @@ -22790,31 +22595,6 @@ packages: serialize-javascript: 6.0.2 terser: 5.31.3 webpack: 5.93.0(esbuild@0.21.5) - dev: true - - /terser-webpack-plugin@5.3.10(esbuild@0.21.5)(webpack@5.96.1): - resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} - engines: {node: '>= 10.13.0'} - peerDependencies: - '@swc/core': '*' - esbuild: '*' - uglify-js: '*' - webpack: ^5.1.0 - peerDependenciesMeta: - '@swc/core': - optional: true - esbuild: - optional: true - uglify-js: - optional: true - dependencies: - '@jridgewell/trace-mapping': 0.3.25 - esbuild: 0.21.5 - jest-worker: 27.5.1 - schema-utils: 3.3.0 - serialize-javascript: 6.0.2 - terser: 5.31.3 - webpack: 5.96.1(esbuild@0.21.5) /terser@5.31.3: resolution: {integrity: sha512-pAfYn3NIZLyZpa83ZKigvj6Rn9c/vd5KfYGX7cN1mnzqgDcxWvrU5ZtAfIKhEXz9nRecw4z3LXkjaq96/qZqAA==} @@ -22822,7 +22602,7 @@ packages: hasBin: true dependencies: '@jridgewell/source-map': 0.3.6 - acorn: 8.14.0 + acorn: 8.12.1 commander: 2.20.3 source-map-support: 0.5.21 @@ -22914,7 +22694,7 @@ packages: /title-case@3.0.3: resolution: {integrity: sha512-e1zGYRvbffpcHIrnuqT0Dh+gEJtDaxDSoG4JAIpq4oDFyooziLBIiYQv0GBT4FUAnUop5uZ1hiIAj7oAF6sOCA==} dependencies: - tslib: 2.8.1 + tslib: 2.7.0 dev: true /titleize@3.0.0: @@ -23058,45 +22838,7 @@ packages: ejs: 3.1.10 esbuild: 0.21.5 fast-json-stable-stringify: 2.1.0 - jest: 29.7.0(@types/node@20.17.9)(ts-node@10.9.2) - jest-util: 29.7.0 - json5: 2.2.3 - lodash.memoize: 4.1.2 - make-error: 1.3.6 - semver: 7.6.3 - typescript: 5.7.2 - yargs-parser: 21.1.1 - dev: true - - /ts-jest@29.2.5(@babel/core@7.26.0)(jest@29.7.0)(typescript@5.7.2): - resolution: {integrity: sha512-KD8zB2aAZrcKIdGk4OwpJggeLcH1FgrICqDSROWqlnJXGCXK4Mn6FcdK2B6670Xr73lHMG1kHw8R87A0ecZ+vA==} - engines: {node: ^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@babel/core': '>=7.0.0-beta.0 <8' - '@jest/transform': ^29.0.0 - '@jest/types': ^29.0.0 - babel-jest: ^29.0.0 - esbuild: '*' - jest: ^29.0.0 - typescript: '>=4.3 <6' - peerDependenciesMeta: - '@babel/core': - optional: true - '@jest/transform': - optional: true - '@jest/types': - optional: true - babel-jest: - optional: true - esbuild: - optional: true - dependencies: - '@babel/core': 7.26.0 - bs-logger: 0.2.6 - ejs: 3.1.10 - fast-json-stable-stringify: 2.1.0 - jest: 29.7.0(@types/node@20.17.9)(ts-node@10.9.2) + jest: 29.7.0(@types/node@20.17.10)(ts-node@10.9.2) jest-util: 29.7.0 json5: 2.2.3 lodash.memoize: 4.1.2 @@ -23122,7 +22864,7 @@ packages: code-block-writer: 11.0.3 dev: true - /ts-node@10.9.2(@types/node@20.17.9)(typescript@5.7.2): + /ts-node@10.9.2(@types/node@20.17.10)(typescript@5.7.2): resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true peerDependencies: @@ -23141,7 +22883,7 @@ packages: '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.17.9 + '@types/node': 20.17.10 acorn: 8.11.3 acorn-walk: 8.2.0 arg: 4.1.3 @@ -23218,9 +22960,6 @@ packages: /tslib@2.7.0: resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} - /tslib@2.8.1: - resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} - /tsx@4.16.0: resolution: {integrity: sha512-MPgN+CuY+4iKxGoJNPv+1pyo5YWZAQ5XfsyobUG+zoKG7IkvCPLZDEyoIb8yLS2FcWci1nlxAqmvPlFWD5AFiQ==} engines: {node: '>=18.0.0'} @@ -23384,16 +23123,6 @@ packages: is-typed-array: 1.1.13 dev: true - /typed-array-byte-length@1.0.0: - resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - for-each: 0.3.3 - has-proto: 1.0.3 - is-typed-array: 1.1.13 - dev: true - /typed-array-byte-length@1.0.1: resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} engines: {node: '>= 0.4'} @@ -23405,18 +23134,6 @@ packages: is-typed-array: 1.1.13 dev: true - /typed-array-byte-offset@1.0.1: - resolution: {integrity: sha512-tcqKMrTRXjqvHN9S3553NPCaGL0VPgFI92lXszmrE8DMhiDPLBYLlvo8Uu4WZAAX/aGqp/T1sbA4ph8EWjDF9Q==} - engines: {node: '>= 0.4'} - dependencies: - available-typed-arrays: 1.0.7 - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.0.1 - has-proto: 1.0.3 - is-typed-array: 1.1.13 - dev: true - /typed-array-byte-offset@1.0.2: resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} engines: {node: '>= 0.4'} @@ -23429,14 +23146,6 @@ packages: is-typed-array: 1.1.13 dev: true - /typed-array-length@1.0.4: - resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} - dependencies: - call-bind: 1.0.7 - for-each: 0.3.3 - is-typed-array: 1.1.13 - dev: true - /typed-array-length@1.0.6: resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} engines: {node: '>= 0.4'} @@ -23485,8 +23194,8 @@ packages: resolution: {integrity: sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA==} dev: false - /uglify-js@3.19.3: - resolution: {integrity: sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==} + /uglify-js@3.17.4: + resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==} engines: {node: '>=0.8.0'} hasBin: true requiresBuild: true @@ -23514,10 +23223,6 @@ packages: /undici-types@6.19.8: resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==} - /undici-types@6.20.0: - resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} - dev: true - /undici@5.28.4: resolution: {integrity: sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==} engines: {node: '>=14.0'} @@ -23668,7 +23373,7 @@ packages: resolution: {integrity: sha512-KeczzHl2sATPQUx1gzo+EnUkmN4VmGBYRRVOZSGvGITE9rGHRDGqft6ONceP3vgXcyJ2XjX5axG5jMWUwNCYLw==} engines: {node: '>=14.0.0'} dependencies: - acorn: 8.14.0 + acorn: 8.12.1 chokidar: 3.6.0 webpack-sources: 3.2.3 webpack-virtual-modules: 0.6.2 @@ -23691,7 +23396,7 @@ packages: dependencies: browserslist: 4.23.0 escalade: 3.1.1 - picocolors: 1.1.1 + picocolors: 1.0.1 /update-browserslist-db@1.1.0(browserslist@4.23.3): resolution: {integrity: sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==} @@ -23701,17 +23406,7 @@ packages: dependencies: browserslist: 4.23.3 escalade: 3.1.2 - picocolors: 1.1.1 - - /update-browserslist-db@1.1.1(browserslist@4.24.2): - resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' - dependencies: - browserslist: 4.24.2 - escalade: 3.2.0 - picocolors: 1.1.1 + picocolors: 1.0.1 /update-notifier@6.0.2: resolution: {integrity: sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og==} @@ -23742,7 +23437,7 @@ packages: /upper-case-first@2.0.2: resolution: {integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==} dependencies: - tslib: 2.8.1 + tslib: 2.7.0 dev: true /upper-case@1.1.3: @@ -23752,7 +23447,7 @@ packages: /upper-case@2.0.2: resolution: {integrity: sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==} dependencies: - tslib: 2.8.1 + tslib: 2.7.0 dev: true /uri-js@4.4.1: @@ -23795,19 +23490,19 @@ packages: resolution: {integrity: sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==} dev: true - /use-callback-ref@1.3.2(@types/react@18.2.57)(react@18.2.0): - resolution: {integrity: sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA==} + /use-callback-ref@1.3.3(@types/react@18.2.57)(react@18.2.0): + resolution: {integrity: sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==} engines: {node: '>=10'} peerDependencies: - '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true dependencies: '@types/react': 18.2.57 react: 18.2.0 - tslib: 2.8.1 + tslib: 2.7.0 dev: false /use-composed-ref@1.3.0(react@18.2.0): @@ -23858,7 +23553,7 @@ packages: '@types/react': 18.2.57 detect-node-es: 1.1.0 react: 18.2.0 - tslib: 2.8.1 + tslib: 2.7.0 dev: false /use-sync-external-store@1.2.0(react@18.2.0): @@ -23966,19 +23661,19 @@ packages: resolution: {integrity: sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==} dev: true - /vue@3.5.13(typescript@5.7.2): - resolution: {integrity: sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==} + /vue@3.4.26(typescript@5.7.2): + resolution: {integrity: sha512-bUIq/p+VB+0xrJubaemrfhk1/FiW9iX+pDV+62I/XJ6EkspAO9/DXEjbDFoe8pIfOZBqfk45i9BMc41ptP/uRg==} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@vue/compiler-dom': 3.5.13 - '@vue/compiler-sfc': 3.5.13 - '@vue/runtime-dom': 3.5.13 - '@vue/server-renderer': 3.5.13(vue@3.5.13) - '@vue/shared': 3.5.13 + '@vue/compiler-dom': 3.4.26 + '@vue/compiler-sfc': 3.4.26 + '@vue/runtime-dom': 3.4.26 + '@vue/server-renderer': 3.4.26(vue@3.4.26) + '@vue/shared': 3.4.26 typescript: 5.7.2 dev: false @@ -24001,14 +23696,6 @@ packages: dependencies: glob-to-regexp: 0.4.1 graceful-fs: 4.2.11 - dev: true - - /watchpack@2.4.2: - resolution: {integrity: sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==} - engines: {node: '>=10.13.0'} - dependencies: - glob-to-regexp: 0.4.1 - graceful-fs: 4.2.11 /watskeburt@4.2.2: resolution: {integrity: sha512-AOCg1UYxWpiHW1tUwqpJau8vzarZYTtzl2uu99UptBmbzx6kOzCGMfRLF6KIRX4PYekmryn89MzxlRNkL66YyA==} @@ -24047,7 +23734,7 @@ packages: '@peculiar/json-schema': 1.1.12 asn1js: 3.0.5 pvtsutils: 1.3.5 - tslib: 2.8.1 + tslib: 2.7.0 dev: true /webidl-conversions@3.0.1: @@ -24105,12 +23792,12 @@ packages: optional: true dependencies: '@types/eslint-scope': 3.7.7 - '@types/estree': 1.0.6 + '@types/estree': 1.0.5 '@webassemblyjs/ast': 1.12.1 '@webassemblyjs/wasm-edit': 1.12.1 '@webassemblyjs/wasm-parser': 1.12.1 - acorn: 8.14.0 - acorn-import-attributes: 1.9.5(acorn@8.14.0) + acorn: 8.12.1 + acorn-import-attributes: 1.9.5(acorn@8.12.1) browserslist: 4.23.3 chrome-trace-event: 1.0.4 enhanced-resolve: 5.17.1 @@ -24132,45 +23819,6 @@ packages: - '@swc/core' - esbuild - uglify-js - dev: true - - /webpack@5.96.1(esbuild@0.21.5): - resolution: {integrity: sha512-l2LlBSvVZGhL4ZrPwyr8+37AunkcYj5qh8o6u2/2rzoPc8gxFJkLj1WxNgooi9pnoc06jh0BjuXnamM4qlujZA==} - engines: {node: '>=10.13.0'} - hasBin: true - peerDependencies: - webpack-cli: '*' - peerDependenciesMeta: - webpack-cli: - optional: true - dependencies: - '@types/eslint-scope': 3.7.7 - '@types/estree': 1.0.6 - '@webassemblyjs/ast': 1.14.1 - '@webassemblyjs/wasm-edit': 1.14.1 - '@webassemblyjs/wasm-parser': 1.14.1 - acorn: 8.14.0 - browserslist: 4.24.2 - chrome-trace-event: 1.0.4 - enhanced-resolve: 5.17.1 - es-module-lexer: 1.5.4 - eslint-scope: 5.1.1 - events: 3.3.0 - glob-to-regexp: 0.4.1 - graceful-fs: 4.2.11 - json-parse-even-better-errors: 2.3.1 - loader-runner: 4.3.0 - mime-types: 2.1.35 - neo-async: 2.6.2 - schema-utils: 3.3.0 - tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(esbuild@0.21.5)(webpack@5.96.1) - watchpack: 2.4.2 - webpack-sources: 3.2.3 - transitivePeerDependencies: - - '@swc/core' - - esbuild - - uglify-js /webvtt-parser@2.2.0: resolution: {integrity: sha512-FzmaED+jZyt8SCJPTKbSsimrrnQU8ELlViE1wuF3x1pgiQUM8Llj5XWj2j/s6Tlk71ucPfGSMFqZWBtKn/0uEA==} @@ -24230,7 +23878,7 @@ packages: isarray: 2.0.5 which-boxed-primitive: 1.0.2 which-collection: 1.0.1 - which-typed-array: 1.1.14 + which-typed-array: 1.1.15 dev: true /which-collection@1.0.1: @@ -24549,10 +24197,6 @@ packages: engines: {node: '>=18'} dev: true - /zimmerframe@1.1.2: - resolution: {integrity: sha512-rAbqEGa8ovJy4pyBxZM70hg4pE6gDgaQ0Sl9M3enG3I0d6H4XSAM3GeNGLKnsBpuijUow064sf7ww1nutC5/3w==} - dev: false - /zip-stream@6.0.1: resolution: {integrity: sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==} engines: {node: '>= 14'}