diff --git a/apps/nextjs/package.json b/apps/nextjs/package.json
index abf9adb01..a30956ecf 100644
--- a/apps/nextjs/package.json
+++ b/apps/nextjs/package.json
@@ -37,17 +37,17 @@
"@homarr/ui": "workspace:^0.1.0",
"@homarr/validation": "workspace:^0.1.0",
"@homarr/widgets": "workspace:^0.1.0",
- "@mantine/colors-generator": "^7.14.1",
- "@mantine/core": "^7.14.1",
- "@mantine/hooks": "^7.14.1",
- "@mantine/modals": "^7.14.1",
- "@mantine/tiptap": "^7.14.1",
- "@million/lint": "1.0.12",
+ "@mantine/colors-generator": "^7.14.3",
+ "@mantine/core": "^7.14.3",
+ "@mantine/hooks": "^7.14.3",
+ "@mantine/modals": "^7.14.3",
+ "@mantine/tiptap": "^7.14.3",
+ "@million/lint": "1.0.13",
"@t3-oss/env-nextjs": "^0.11.1",
- "@tabler/icons-react": "^3.22.0",
- "@tanstack/react-query": "^5.61.0",
- "@tanstack/react-query-devtools": "^5.61.0",
- "@tanstack/react-query-next-experimental": "5.61.0",
+ "@tabler/icons-react": "^3.23.0",
+ "@tanstack/react-query": "^5.62.0",
+ "@tanstack/react-query-devtools": "^5.62.0",
+ "@tanstack/react-query-next-experimental": "5.62.0",
"@trpc/client": "next",
"@trpc/next": "next",
"@trpc/react-query": "next",
@@ -80,7 +80,7 @@
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"@types/chroma-js": "2.4.4",
- "@types/node": "^22.9.1",
+ "@types/node": "^22.10.1",
"@types/prismjs": "^1.26.5",
"@types/react": "^18.3.12",
"@types/react-dom": "^18.3.1",
@@ -88,7 +88,7 @@
"concurrently": "^9.1.0",
"eslint": "^9.15.0",
"node-loader": "^2.1.0",
- "prettier": "^3.3.3",
- "typescript": "^5.6.3"
+ "prettier": "^3.4.1",
+ "typescript": "^5.7.2"
}
}
diff --git a/apps/nextjs/src/app/[locale]/(home-board)/layout.tsx b/apps/nextjs/src/app/[locale]/(home-board)/layout.tsx
new file mode 100644
index 000000000..9b69474ba
--- /dev/null
+++ b/apps/nextjs/src/app/[locale]/(home-board)/layout.tsx
@@ -0,0 +1,5 @@
+import definition from "../boards/(content)/(home)/_definition";
+
+const { layout } = definition;
+
+export default layout;
diff --git a/apps/nextjs/src/app/[locale]/(home-board)/page.tsx b/apps/nextjs/src/app/[locale]/(home-board)/page.tsx
new file mode 100644
index 000000000..7554444e5
--- /dev/null
+++ b/apps/nextjs/src/app/[locale]/(home-board)/page.tsx
@@ -0,0 +1,7 @@
+import definition from "../boards/(content)/(home)/_definition";
+
+const { generateMetadataAsync: generateMetadata, page } = definition;
+
+export default page;
+
+export { generateMetadata };
diff --git a/apps/nextjs/src/app/[locale]/(main)/layout.tsx b/apps/nextjs/src/app/[locale]/(main)/layout.tsx
deleted file mode 100644
index ba273b157..000000000
--- a/apps/nextjs/src/app/[locale]/(main)/layout.tsx
+++ /dev/null
@@ -1,14 +0,0 @@
-import type { PropsWithChildren } from "react";
-import { AppShellMain } from "@mantine/core";
-
-import { MainHeader } from "~/components/layout/header";
-import { ClientShell } from "~/components/layout/shell";
-
-export default function MainLayout({ children }: PropsWithChildren) {
- return (
-
-
- {children}
-
- );
-}
diff --git a/apps/nextjs/src/app/[locale]/(main)/page.tsx b/apps/nextjs/src/app/[locale]/(main)/page.tsx
deleted file mode 100644
index 26c718534..000000000
--- a/apps/nextjs/src/app/[locale]/(main)/page.tsx
+++ /dev/null
@@ -1,9 +0,0 @@
-import { Stack, Title } from "@mantine/core";
-
-export default function HomePage() {
- return (
-
- Home
-
- );
-}
diff --git a/apps/nextjs/src/app/[locale]/boards/(content)/_header-actions.tsx b/apps/nextjs/src/app/[locale]/boards/(content)/_header-actions.tsx
index 0782c1f94..e951a4318 100644
--- a/apps/nextjs/src/app/[locale]/boards/(content)/_header-actions.tsx
+++ b/apps/nextjs/src/app/[locale]/boards/(content)/_header-actions.tsx
@@ -1,6 +1,8 @@
"use client";
-import { useCallback } from "react";
+import type { MouseEvent } from "react";
+import { useCallback, useEffect } from "react";
+import { useRouter } from "next/navigation";
import { Group, Menu } from "@mantine/core";
import { useHotkeys } from "@mantine/hooks";
import {
@@ -16,7 +18,7 @@ import {
import { clientApi } from "@homarr/api/client";
import { revalidatePathActionAsync } from "@homarr/common/client";
-import { useModalAction } from "@homarr/modals";
+import { useConfirmModal, useModalAction } from "@homarr/modals";
import { showErrorNotification, showSuccessNotification } from "@homarr/notifications";
import { useI18n, useScopedI18n } from "@homarr/translation/client";
@@ -26,6 +28,7 @@ import { useCategoryActions } from "~/components/board/sections/category/categor
import { CategoryEditModal } from "~/components/board/sections/category/category-edit-modal";
import { useDynamicSectionActions } from "~/components/board/sections/dynamic/dynamic-actions";
import { HeaderButton } from "~/components/layout/header/button";
+import { env } from "~/env.mjs";
import { useEditMode, useRequiredBoard } from "./_context";
export const BoardContentHeaderActions = () => {
@@ -139,6 +142,7 @@ const EditModeMenu = () => {
}, [board, isEditMode, saveBoard, setEditMode]);
useHotkeys([["mod+e", toggle]]);
+ usePreventLeaveWithDirty(isEditMode);
return (
@@ -146,3 +150,63 @@ const EditModeMenu = () => {
);
};
+
+const usePreventLeaveWithDirty = (isDirty: boolean) => {
+ const t = useI18n();
+ const { openConfirmModal } = useConfirmModal();
+ const router = useRouter();
+
+ useEffect(() => {
+ const handleClick = (event: MouseEvent) => {
+ const target = (event.target as HTMLElement).closest("a");
+
+ if (!target) return;
+ if (!isDirty) return;
+
+ event.preventDefault();
+
+ openConfirmModal({
+ title: t("board.action.edit.confirmLeave.title"),
+ children: t("board.action.edit.confirmLeave.message"),
+ onConfirm() {
+ router.push(target.href);
+ },
+ confirmProps: {
+ children: t("common.action.discard"),
+ },
+ });
+ };
+
+ const handlePopState = (event: Event) => {
+ if (isDirty) {
+ window.history.pushState(null, document.title, window.location.href);
+ event.preventDefault();
+ } else {
+ window.history.back();
+ }
+ };
+
+ const handleBeforeUnload = (event: BeforeUnloadEvent) => {
+ if (!isDirty) return;
+ if (env.NODE_ENV === "development") return; // Allow to reload in development
+
+ event.preventDefault();
+ event.returnValue = true;
+ };
+
+ document.querySelectorAll("a").forEach((link) => {
+ link.addEventListener("click", handleClick as never);
+ });
+ window.addEventListener("popstate", handlePopState);
+ window.addEventListener("beforeunload", handleBeforeUnload);
+
+ return () => {
+ document.querySelectorAll("a").forEach((link) => {
+ link.removeEventListener("click", handleClick as never);
+ window.removeEventListener("popstate", handlePopState);
+ });
+ window.removeEventListener("beforeunload", handleBeforeUnload);
+ };
+ // eslint-disable-next-line react-hooks/exhaustive-deps
+ }, [isDirty]);
+};
diff --git a/apps/nextjs/src/app/[locale]/boards/[name]/settings/page.tsx b/apps/nextjs/src/app/[locale]/boards/[name]/settings/page.tsx
index 002c5f4c8..06255e0ff 100644
--- a/apps/nextjs/src/app/[locale]/boards/[name]/settings/page.tsx
+++ b/apps/nextjs/src/app/[locale]/boards/[name]/settings/page.tsx
@@ -95,7 +95,7 @@ export default async function BoardSettingsPage({ params, searchParams }: Props)
-
+
>
)}
diff --git a/apps/nextjs/src/app/[locale]/manage/apps/page.tsx b/apps/nextjs/src/app/[locale]/manage/apps/page.tsx
index 2029fbafa..8dd13774b 100644
--- a/apps/nextjs/src/app/[locale]/manage/apps/page.tsx
+++ b/apps/nextjs/src/app/[locale]/manage/apps/page.tsx
@@ -1,7 +1,7 @@
import Link from "next/link";
import { redirect } from "next/navigation";
import { ActionIcon, ActionIconGroup, Anchor, Avatar, Card, Group, Stack, Text, Title } from "@mantine/core";
-import { IconApps, IconPencil } from "@tabler/icons-react";
+import { IconBox, IconPencil } from "@tabler/icons-react";
import type { RouterOutputs } from "@homarr/api";
import { api } from "@homarr/api/server";
@@ -12,6 +12,7 @@ import { getI18n, getScopedI18n } from "@homarr/translation/server";
import { ManageContainer } from "~/components/manage/manage-container";
import { MobileAffixButton } from "~/components/manage/mobile-affix-button";
import { DynamicBreadcrumb } from "~/components/navigation/dynamic-breadcrumb";
+import { NoResults } from "~/components/no-results";
import { AppDeleteButton } from "./_app-delete-button";
export default async function AppsPage() {
@@ -113,16 +114,14 @@ const AppNoResults = async () => {
const session = await auth();
return (
-
-
-
-
- {t("app.page.list.noResults.title")}
-
- {session?.user.permissions.includes("app-create") && (
- {t("app.page.list.noResults.action")}
- )}
-
-
+
);
};
diff --git a/apps/nextjs/src/app/[locale]/manage/integrations/page.tsx b/apps/nextjs/src/app/[locale]/manage/integrations/page.tsx
index a600effed..853630698 100644
--- a/apps/nextjs/src/app/[locale]/manage/integrations/page.tsx
+++ b/apps/nextjs/src/app/[locale]/manage/integrations/page.tsx
@@ -27,7 +27,7 @@ import {
Text,
Title,
} from "@mantine/core";
-import { IconChevronDown, IconChevronUp, IconPencil } from "@tabler/icons-react";
+import { IconChevronDown, IconChevronUp, IconPencil, IconPlugX } from "@tabler/icons-react";
import type { RouterOutputs } from "@homarr/api";
import { api } from "@homarr/api/server";
@@ -40,6 +40,7 @@ import { CountBadge, IntegrationAvatar } from "@homarr/ui";
import { ManageContainer } from "~/components/manage/manage-container";
import { DynamicBreadcrumb } from "~/components/navigation/dynamic-breadcrumb";
+import { NoResults } from "~/components/no-results";
import { ActiveTabAccordion } from "../../../../components/active-tab-accordion";
import { DeleteIntegrationActionButton } from "./_integration-buttons";
import { IntegrationCreateDropdownContent } from "./new/_integration-new-dropdown";
@@ -120,7 +121,7 @@ const IntegrationList = async ({ integrations, activeTab }: IntegrationListProps
const hasFullAccess = session?.user.permissions.includes("integration-full-all") ?? false;
if (integrations.length === 0) {
- return {t("page.list.empty")}
;
+ return ;
}
const grouppedIntegrations = integrations.reduce(
diff --git a/apps/nextjs/src/app/[locale]/manage/search-engines/page.tsx b/apps/nextjs/src/app/[locale]/manage/search-engines/page.tsx
index 8f66abbf1..5d56fe17c 100644
--- a/apps/nextjs/src/app/[locale]/manage/search-engines/page.tsx
+++ b/apps/nextjs/src/app/[locale]/manage/search-engines/page.tsx
@@ -13,6 +13,7 @@ import { z } from "@homarr/validation";
import { ManageContainer } from "~/components/manage/manage-container";
import { MobileAffixButton } from "~/components/manage/mobile-affix-button";
import { DynamicBreadcrumb } from "~/components/navigation/dynamic-breadcrumb";
+import { NoResults } from "~/components/no-results";
import { SearchEngineDeleteButton } from "./_search-engine-delete-button";
const searchParamsSchema = z.object({
@@ -142,16 +143,14 @@ const SearchEngineNoResults = async () => {
const session = await auth();
return (
-
-
-
-
- {t("search.engine.page.list.noResults.title")}
-
- {session?.user.permissions.includes("search-engine-create") && (
- {t("search.engine.page.list.noResults.action")}
- )}
-
-
+
);
};
diff --git a/apps/nextjs/src/app/[locale]/manage/settings/_components/board-settings-form.tsx b/apps/nextjs/src/app/[locale]/manage/settings/_components/board-settings-form.tsx
index d91d94196..8890cbce0 100644
--- a/apps/nextjs/src/app/[locale]/manage/settings/_components/board-settings-form.tsx
+++ b/apps/nextjs/src/app/[locale]/manage/settings/_components/board-settings-form.tsx
@@ -19,8 +19,8 @@ export const BoardSettingsForm = ({ defaultValues }: { defaultValues: ServerSett
{(form) => (
<>
({
value: board.id,
label: board.name,
@@ -35,7 +35,7 @@ export const BoardSettingsForm = ({ defaultValues }: { defaultValues: ServerSett
)}
- {...form.getInputProps("defaultBoardId")}
+ {...form.getInputProps("homeBoardId")}
/>
>
)}
diff --git a/apps/nextjs/src/app/[locale]/manage/tools/api/components/swagger-ui.tsx b/apps/nextjs/src/app/[locale]/manage/tools/api/components/swagger-ui.tsx
index 476a37c5a..1f0073df6 100644
--- a/apps/nextjs/src/app/[locale]/manage/tools/api/components/swagger-ui.tsx
+++ b/apps/nextjs/src/app/[locale]/manage/tools/api/components/swagger-ui.tsx
@@ -1,6 +1,6 @@
"use client";
-import type { OpenAPIV3 } from "openapi-types";
+import type { OpenAPIObject } from "openapi3-ts/oas31";
import SwaggerUI from "swagger-ui-react";
// workaround for CSS that cannot be processed by next.js, https://github.com/swagger-api/swagger-ui/issues/10045
@@ -9,7 +9,7 @@ import "../swagger-ui-overrides.css";
import "../swagger-ui.css";
interface SwaggerUIClientProps {
- document: OpenAPIV3.Document;
+ document: OpenAPIObject;
}
export const SwaggerUIClient = ({ document }: SwaggerUIClientProps) => {
diff --git a/apps/nextjs/src/app/[locale]/manage/users/[userId]/general/_components/_delete-user-button.tsx b/apps/nextjs/src/app/[locale]/manage/users/[userId]/general/_components/_delete-user-button.tsx
index 7ca9f64d6..ebaf1b0cb 100644
--- a/apps/nextjs/src/app/[locale]/manage/users/[userId]/general/_components/_delete-user-button.tsx
+++ b/apps/nextjs/src/app/[locale]/manage/users/[userId]/general/_components/_delete-user-button.tsx
@@ -31,7 +31,9 @@ export const DeleteUserButton = ({ user }: DeleteUserButtonProps) => {
children: t("user.action.delete.confirm", { username: user.name }),
// eslint-disable-next-line no-restricted-syntax
async onConfirm() {
- await mutateUserDeletionAsync(user.id);
+ await mutateUserDeletionAsync({
+ userId: user.id,
+ });
},
}),
[user, mutateUserDeletionAsync, openConfirmModal, t],
diff --git a/apps/nextjs/src/app/[locale]/manage/users/[userId]/general/_components/_first-day-of-week.tsx b/apps/nextjs/src/app/[locale]/manage/users/[userId]/general/_components/_first-day-of-week.tsx
index 4c437db4a..43c04c46f 100644
--- a/apps/nextjs/src/app/[locale]/manage/users/[userId]/general/_components/_first-day-of-week.tsx
+++ b/apps/nextjs/src/app/[locale]/manage/users/[userId]/general/_components/_first-day-of-week.tsx
@@ -1,6 +1,7 @@
"use client";
import { Button, Group, Radio, Stack } from "@mantine/core";
+import type { DayOfWeek } from "@mantine/dates";
import dayjs from "dayjs";
import localeData from "dayjs/plugin/localeData";
@@ -43,7 +44,7 @@ export const FirstDayOfWeek = ({ user }: FirstDayOfWeekProps) => {
});
const form = useZodForm(validation.user.firstDayOfWeek, {
initialValues: {
- firstDayOfWeek: user.firstDayOfWeek,
+ firstDayOfWeek: user.firstDayOfWeek as DayOfWeek,
},
});
diff --git a/apps/nextjs/src/app/[locale]/manage/users/create/_components/create-user-stepper.tsx b/apps/nextjs/src/app/[locale]/manage/users/create/_components/create-user-stepper.tsx
index fc1425f21..ecf9397ef 100644
--- a/apps/nextjs/src/app/[locale]/manage/users/create/_components/create-user-stepper.tsx
+++ b/apps/nextjs/src/app/[locale]/manage/users/create/_components/create-user-stepper.tsx
@@ -1,20 +1,48 @@
"use client";
-import { useCallback, useMemo, useState } from "react";
-import { Card, PasswordInput, Stack, Stepper, Text, TextInput, Title } from "@mantine/core";
-import { IconUserCheck } from "@tabler/icons-react";
+import { startTransition, useCallback, useMemo, useState } from "react";
+import {
+ Badge,
+ Button,
+ Card,
+ Group,
+ PasswordInput,
+ Stack,
+ Stepper,
+ Table,
+ Text,
+ TextInput,
+ Title,
+ Tooltip,
+} from "@mantine/core";
+import { useListState } from "@mantine/hooks";
+import { IconPlus, IconUserCheck } from "@tabler/icons-react";
import { clientApi } from "@homarr/api/client";
+import { everyoneGroup, groupPermissions } from "@homarr/definitions";
+import type { GroupPermissionKey } from "@homarr/definitions";
import { useZodForm } from "@homarr/form";
+import { useModalAction } from "@homarr/modals";
import { showErrorNotification } from "@homarr/notifications";
-import { useScopedI18n } from "@homarr/translation/client";
+import { useI18n, useScopedI18n } from "@homarr/translation/client";
import { CustomPasswordInput, UserAvatar } from "@homarr/ui";
import { validation, z } from "@homarr/validation";
import { createCustomErrorParams } from "@homarr/validation/form";
+import { GroupSelectModal } from "~/components/access/group-select-modal";
import { StepperNavigationComponent } from "./stepper-navigation";
-export const UserCreateStepperComponent = () => {
+interface GroupWithPermissions {
+ id: string;
+ name: string;
+ permissions: GroupPermissionKey[];
+}
+
+interface UserCreateStepperComponentProps {
+ initialGroups: GroupWithPermissions[];
+}
+
+export const UserCreateStepperComponent = ({ initialGroups }: UserCreateStepperComponentProps) => {
const t = useScopedI18n("management.page.user.create");
const tUserField = useScopedI18n("user.field");
@@ -73,7 +101,18 @@ export const UserCreateStepperComponent = () => {
},
);
- const allForms = useMemo(() => [generalForm, securityForm], [generalForm, securityForm]);
+ const groupsForm = useZodForm(
+ z.object({
+ groups: z.array(z.string()),
+ }),
+ {
+ initialValues: {
+ groups: initialGroups.map((group) => group.id),
+ },
+ },
+ );
+
+ const allForms = useMemo(() => [generalForm, securityForm, groupsForm], [generalForm, securityForm, groupsForm]);
const activeForm = allForms[active];
const isCurrentFormValid = activeForm ? activeForm.isValid : () => true;
@@ -86,10 +125,11 @@ export const UserCreateStepperComponent = () => {
email: generalForm.values.email,
password: securityForm.values.password,
confirmPassword: securityForm.values.confirmPassword,
+ groupIds: groupsForm.values.groups,
});
}
nextStep();
- }, [active, generalForm, mutateAsync, securityForm, nextStep]);
+ }, [active, generalForm, securityForm, groupsForm, mutateAsync, nextStep]);
const reset = useCallback(() => {
setActive(0);
@@ -144,13 +184,18 @@ export const UserCreateStepperComponent = () => {
-
- 3
+
+
+
+ groupsForm.setValues((value) => ({ groups: value.groups?.concat(groupId) ?? [groupId] }))
+ }
+ removeGroup={(groupId) => {
+ groupsForm.setValues((value) => ({ groups: value.groups?.filter((group) => group !== groupId) ?? [] }));
+ }}
+ />
+
@@ -183,3 +228,111 @@ export const UserCreateStepperComponent = () => {
>
);
};
+
+interface GroupsFormProps {
+ addGroup: (groupId: string) => void;
+ removeGroup: (groupId: string) => void;
+ initialGroups: GroupWithPermissions[];
+}
+
+const GroupsForm = ({ addGroup, removeGroup, initialGroups }: GroupsFormProps) => {
+ const t = useI18n();
+ const [groups, { append, filter }] = useListState(initialGroups);
+ const { openModal } = useModalAction(GroupSelectModal);
+
+ const handleAddClick = () => {
+ openModal({
+ presentGroupIds: groups.map((group) => group.id),
+ withPermissions: true,
+ onSelect({ id, name, permissions }) {
+ if (!permissions) return;
+
+ startTransition(() => {
+ addGroup(id);
+ append({ id, name, permissions });
+ });
+ },
+ });
+ };
+
+ const handleGroupRemove = (id: string) => {
+ filter((group) => group.id !== id);
+ removeGroup(id);
+ };
+
+ return (
+
+ );
+};
+
+const PermissionBadge = ({ category, value }: { category: string; value: string }) => {
+ const t = useI18n();
+
+ return (
+
+
+ {t(`group.permission.${category}.item.${value}.label` as never)}
+
+
+ );
+};
diff --git a/apps/nextjs/src/app/[locale]/manage/users/create/page.tsx b/apps/nextjs/src/app/[locale]/manage/users/create/page.tsx
index d076c2e37..4c49b6595 100644
--- a/apps/nextjs/src/app/[locale]/manage/users/create/page.tsx
+++ b/apps/nextjs/src/app/[locale]/manage/users/create/page.tsx
@@ -2,6 +2,9 @@ import { notFound } from "next/navigation";
import { auth } from "@homarr/auth/next";
import { isProviderEnabled } from "@homarr/auth/server";
+import { db, inArray } from "@homarr/db";
+import { groups } from "@homarr/db/schema/sqlite";
+import { everyoneGroup } from "@homarr/definitions";
import { getScopedI18n } from "@homarr/translation/server";
import { DynamicBreadcrumb } from "~/components/navigation/dynamic-breadcrumb";
@@ -33,10 +36,22 @@ export default async function CreateUserPage() {
return notFound();
}
+ const initialGroups = await db.query.groups.findMany({
+ where: inArray(groups.name, [everyoneGroup]),
+ with: {
+ permissions: true,
+ },
+ });
+
return (
<>
-
+ ({
+ ...group,
+ permissions: group.permissions.map(({ permission }) => permission),
+ }))}
+ />
>
);
}
diff --git a/apps/nextjs/src/app/[locale]/manage/users/groups/[id]/_transfer-group-ownership.tsx b/apps/nextjs/src/app/[locale]/manage/users/groups/[id]/_transfer-group-ownership.tsx
index a3a860d2b..9074c9ecf 100644
--- a/apps/nextjs/src/app/[locale]/manage/users/groups/[id]/_transfer-group-ownership.tsx
+++ b/apps/nextjs/src/app/[locale]/manage/users/groups/[id]/_transfer-group-ownership.tsx
@@ -4,6 +4,7 @@ import { useCallback, useState } from "react";
import { Button, useMatches } from "@mantine/core";
import { clientApi } from "@homarr/api/client";
+import { revalidatePathActionAsync } from "@homarr/common/client";
import { useConfirmModal, useModalAction } from "@homarr/modals";
import { showErrorNotification, showSuccessNotification } from "@homarr/notifications";
import { useI18n, useScopedI18n } from "@homarr/translation/client";
@@ -46,7 +47,7 @@ export const TransferGroupOwnership = ({ group }: TransferGroupOwnershipProps) =
userId: id,
},
{
- onSuccess() {
+ async onSuccess() {
setInnerOwnerId(id);
showSuccessNotification({
title: tRoot("common.notification.transfer.success"),
@@ -55,6 +56,7 @@ export const TransferGroupOwnership = ({ group }: TransferGroupOwnershipProps) =
user: name,
}),
});
+ await revalidatePathActionAsync(`/manage/users/groups/${group.id}`);
},
onError() {
showErrorNotification({
diff --git a/apps/nextjs/src/app/[locale]/manage/users/groups/[id]/members/_add-group-member.tsx b/apps/nextjs/src/app/[locale]/manage/users/groups/[id]/members/_add-group-member.tsx
index 745af9e3e..4dddfdca3 100644
--- a/apps/nextjs/src/app/[locale]/manage/users/groups/[id]/members/_add-group-member.tsx
+++ b/apps/nextjs/src/app/[locale]/manage/users/groups/[id]/members/_add-group-member.tsx
@@ -32,6 +32,7 @@ export const AddGroupMember = ({ groupId, presentUserIds }: AddGroupMemberProps)
await revalidatePathActionAsync(`/manage/users/groups/${groupId}}/members`);
},
presentUserIds,
+ excludeExternalProviders: true,
},
{
title: tMembersAdd("label"),
diff --git a/apps/nextjs/src/app/[locale]/widgets/[kind]/_content.tsx b/apps/nextjs/src/app/[locale]/widgets/[kind]/_content.tsx
index 0d7f1b880..d351c9238 100644
--- a/apps/nextjs/src/app/[locale]/widgets/[kind]/_content.tsx
+++ b/apps/nextjs/src/app/[locale]/widgets/[kind]/_content.tsx
@@ -11,13 +11,9 @@ import { useModalAction } from "@homarr/modals";
import { showSuccessNotification } from "@homarr/notifications";
import { useScopedI18n } from "@homarr/translation/client";
import type { BoardItemAdvancedOptions } from "@homarr/validation";
-import {
- loadWidgetDynamic,
- reduceWidgetOptionsWithDefaultValues,
- WidgetEditModal,
- widgetImports,
-} from "@homarr/widgets";
+import { loadWidgetDynamic, reduceWidgetOptionsWithDefaultValues, widgetImports } from "@homarr/widgets";
import { WidgetError } from "@homarr/widgets/errors";
+import { WidgetEditModal } from "@homarr/widgets/modals";
import type { Dimensions } from "./_dimension-modal";
import { PreviewDimensionsModal } from "./_dimension-modal";
diff --git a/apps/nextjs/src/app/api/[...trpc]/route.ts b/apps/nextjs/src/app/api/[...trpc]/route.ts
index 1ac9fb77f..ffd59c784 100644
--- a/apps/nextjs/src/app/api/[...trpc]/route.ts
+++ b/apps/nextjs/src/app/api/[...trpc]/route.ts
@@ -1,7 +1,7 @@
import { headers } from "next/headers";
import { userAgent } from "next/server";
import type { NextRequest } from "next/server";
-import { createOpenApiFetchHandler } from "trpc-swagger/build/index.mjs";
+import { createOpenApiFetchHandler } from "trpc-to-openapi";
import { appRouter, createTRPCContext } from "@homarr/api";
import { hashPasswordAsync } from "@homarr/auth";
@@ -17,6 +17,11 @@ const handlerAsync = async (req: NextRequest) => {
const { ua } = userAgent(req);
const session: Session | null = await getSessionOrDefaultFromHeadersAsync(apiKeyHeaderValue, ipAddress, ua);
+ // Fallback to JSON if no content type is set
+ if (!req.headers.has("Content-Type")) {
+ req.headers.set("Content-Type", "application/json");
+ }
+
return createOpenApiFetchHandler({
req,
endpoint: "/",
@@ -82,4 +87,10 @@ const getSessionOrDefaultFromHeadersAsync = async (
return await createSessionAsync(db, apiKeyFromDb.user);
};
-export { handlerAsync as GET, handlerAsync as POST };
+export {
+ handlerAsync as GET,
+ handlerAsync as POST,
+ handlerAsync as PUT,
+ handlerAsync as DELETE,
+ handlerAsync as PATCH,
+};
diff --git a/apps/nextjs/src/components/access/group-select-modal.tsx b/apps/nextjs/src/components/access/group-select-modal.tsx
index 62b37ab0f..ba0befb21 100644
--- a/apps/nextjs/src/components/access/group-select-modal.tsx
+++ b/apps/nextjs/src/components/access/group-select-modal.tsx
@@ -2,13 +2,15 @@ import { useState } from "react";
import { Button, Group, Loader, Select, Stack } from "@mantine/core";
import { clientApi } from "@homarr/api/client";
+import type { GroupPermissionKey } from "@homarr/definitions";
import { useForm } from "@homarr/form";
import { createModal } from "@homarr/modals";
import { useI18n } from "@homarr/translation/client";
interface InnerProps {
+ withPermissions?: boolean;
presentGroupIds: string[];
- onSelect: (props: { id: string; name: string }) => void | Promise;
+ onSelect: (props: { id: string; name: string; permissions?: GroupPermissionKey[] }) => void | Promise;
confirmLabel?: string;
}
@@ -18,7 +20,9 @@ interface GroupSelectFormType {
export const GroupSelectModal = createModal(({ actions, innerProps }) => {
const t = useI18n();
- const { data: groups, isPending } = clientApi.group.selectable.useQuery();
+ const { data: groups, isPending } = clientApi.group.selectable.useQuery({
+ withPermissions: innerProps.withPermissions,
+ });
const [loading, setLoading] = useState(false);
const form = useForm();
const handleSubmitAsync = async (values: GroupSelectFormType) => {
@@ -28,6 +32,7 @@ export const GroupSelectModal = createModal(({ actions, innerProps }
await innerProps.onSelect({
id: currentGroup.id,
name: currentGroup.name,
+ permissions: "permissions" in currentGroup ? (currentGroup.permissions as GroupPermissionKey[]) : undefined,
});
setLoading(false);
diff --git a/apps/nextjs/src/components/access/user-select-modal.tsx b/apps/nextjs/src/components/access/user-select-modal.tsx
index b586e47d5..22f22a1e1 100644
--- a/apps/nextjs/src/components/access/user-select-modal.tsx
+++ b/apps/nextjs/src/components/access/user-select-modal.tsx
@@ -12,6 +12,7 @@ import { UserAvatar } from "@homarr/ui";
interface InnerProps {
presentUserIds: string[];
+ excludeExternalProviders?: boolean;
onSelect: (props: { id: string; name: string; image: string }) => void | Promise;
confirmLabel?: string;
}
@@ -22,7 +23,9 @@ interface UserSelectFormType {
export const UserSelectModal = createModal(({ actions, innerProps }) => {
const t = useI18n();
- const { data: users, isPending } = clientApi.user.selectable.useQuery();
+ const { data: users, isPending } = clientApi.user.selectable.useQuery({
+ excludeExternalProviders: innerProps.excludeExternalProviders,
+ });
const [loading, setLoading] = useState(false);
const form = useForm();
const handleSubmitAsync = async (values: UserSelectFormType) => {
diff --git a/apps/nextjs/src/components/board/items/item-menu.tsx b/apps/nextjs/src/components/board/items/item-menu.tsx
index 4c4d9642f..d16ec2c7a 100644
--- a/apps/nextjs/src/components/board/items/item-menu.tsx
+++ b/apps/nextjs/src/components/board/items/item-menu.tsx
@@ -5,7 +5,8 @@ import { IconCopy, IconDotsVertical, IconLayoutKanban, IconPencil, IconTrash } f
import { clientApi } from "@homarr/api/client";
import { useConfirmModal, useModalAction } from "@homarr/modals";
import { useI18n, useScopedI18n } from "@homarr/translation/client";
-import { WidgetEditModal, widgetImports } from "@homarr/widgets";
+import { widgetImports } from "@homarr/widgets";
+import { WidgetEditModal } from "@homarr/widgets/modals";
import type { Item } from "~/app/[locale]/boards/_types";
import { useEditMode } from "~/app/[locale]/boards/(content)/_context";
diff --git a/apps/nextjs/src/components/board/sections/category/actions/move-category.ts b/apps/nextjs/src/components/board/sections/category/actions/move-category.ts
new file mode 100644
index 000000000..f0cdb1d46
--- /dev/null
+++ b/apps/nextjs/src/components/board/sections/category/actions/move-category.ts
@@ -0,0 +1,54 @@
+import type { RouterOutputs } from "@homarr/api";
+
+import type { CategorySection } from "~/app/[locale]/boards/_types";
+
+export interface MoveCategoryInput {
+ id: string;
+ direction: "up" | "down";
+}
+
+export const moveCategoryCallback =
+ (input: MoveCategoryInput) =>
+ (previous: RouterOutputs["board"]["getHomeBoard"]): RouterOutputs["board"]["getHomeBoard"] => {
+ const currentCategory = previous.sections.find(
+ (section): section is CategorySection => section.kind === "category" && section.id === input.id,
+ );
+ if (!currentCategory) {
+ return previous;
+ }
+ if (currentCategory.yOffset === 1 && input.direction === "up") {
+ return previous;
+ }
+ if (currentCategory.yOffset === previous.sections.length - 2 && input.direction === "down") {
+ return previous;
+ }
+
+ return {
+ ...previous,
+ sections: previous.sections.map((section) => {
+ if (section.kind !== "category" && section.kind !== "empty") {
+ return section;
+ }
+ const offset = input.direction === "up" ? -2 : 2;
+ // Move category and empty section
+ if (section.yOffset === currentCategory.yOffset || section.yOffset === currentCategory.yOffset + 1) {
+ return {
+ ...section,
+ yOffset: section.yOffset + offset,
+ };
+ }
+
+ if (
+ section.yOffset === currentCategory.yOffset + offset ||
+ section.yOffset === currentCategory.yOffset + offset + 1
+ ) {
+ return {
+ ...section,
+ yOffset: section.yOffset - offset,
+ };
+ }
+
+ return section;
+ }),
+ };
+ };
diff --git a/apps/nextjs/src/components/board/sections/category/actions/test/move-category.spec.ts b/apps/nextjs/src/components/board/sections/category/actions/test/move-category.spec.ts
new file mode 100644
index 000000000..bc843065f
--- /dev/null
+++ b/apps/nextjs/src/components/board/sections/category/actions/test/move-category.spec.ts
@@ -0,0 +1,76 @@
+import { describe, expect, test } from "vitest";
+
+import type { Section } from "~/app/[locale]/boards/_types";
+import { moveCategoryCallback } from "../move-category";
+
+describe("Move Category", () => {
+ test.each([
+ [3, [0, 3, 4, 1, 2, 5, 6]],
+ [5, [0, 1, 2, 5, 6, 3, 4]],
+ ])("should move category up", (moveId, expectedOrder) => {
+ const sections = createSections(3);
+
+ const input = {
+ id: moveId.toString(),
+ direction: "up" as const,
+ };
+
+ const result = moveCategoryCallback(input)({ sections } as never);
+
+ expect(sortSections(result.sections).map((section) => parseInt(section.id, 10))).toEqual(expectedOrder);
+ });
+ test.each([
+ [1, [0, 3, 4, 1, 2, 5, 6]],
+ [3, [0, 1, 2, 5, 6, 3, 4]],
+ ])("should move category down", (moveId, expectedOrder) => {
+ const sections = createSections(3);
+
+ const input = {
+ id: moveId.toString(),
+ direction: "down" as const,
+ };
+
+ const result = moveCategoryCallback(input)({ sections } as never);
+
+ expect(sortSections(result.sections).map((section) => parseInt(section.id, 10))).toEqual(expectedOrder);
+ });
+ test("should not move category up if it is at the top", () => {
+ const sections = createSections(3);
+
+ const input = {
+ id: "1",
+ direction: "up" as const,
+ };
+
+ const result = moveCategoryCallback(input)({ sections } as never);
+
+ expect(sortSections(result.sections).map((section) => parseInt(section.id, 10))).toEqual([0, 1, 2, 3, 4, 5, 6]);
+ });
+ test("should not move category down if it is at the bottom", () => {
+ const sections = createSections(3);
+
+ const input = {
+ id: "5",
+ direction: "down" as const,
+ };
+
+ const result = moveCategoryCallback(input)({ sections } as never);
+
+ expect(sortSections(result.sections).map((section) => parseInt(section.id, 10))).toEqual([0, 1, 2, 3, 4, 5, 6]);
+ });
+});
+
+const createSections = (categoryCount: number) => {
+ return Array.from({ length: categoryCount * 2 + 1 }, (_, index) => ({
+ id: index.toString(),
+ kind: index % 2 === 1 ? ("category" as const) : ("empty" as const),
+ name: `Category ${index}`,
+ yOffset: index,
+ xOffset: 0,
+ items: [],
+ })) satisfies Section[];
+};
+
+const sortSections = (sections: Section[]) => {
+ return sections.sort((sectionA, sectionB) => sectionA.yOffset - sectionB.yOffset);
+};
diff --git a/apps/nextjs/src/components/board/sections/category/category-actions.ts b/apps/nextjs/src/components/board/sections/category/category-actions.ts
index a31d8306e..01e54a2b8 100644
--- a/apps/nextjs/src/components/board/sections/category/category-actions.ts
+++ b/apps/nextjs/src/components/board/sections/category/category-actions.ts
@@ -4,6 +4,8 @@ import { createId } from "@homarr/db/client";
import type { CategorySection, EmptySection, Section } from "~/app/[locale]/boards/_types";
import { useUpdateBoard } from "~/app/[locale]/boards/(content)/_client";
+import type { MoveCategoryInput } from "./actions/move-category";
+import { moveCategoryCallback } from "./actions/move-category";
interface AddCategory {
name: string;
@@ -15,11 +17,6 @@ interface RenameCategory {
name: string;
}
-interface MoveCategory {
- id: string;
- direction: "up" | "down";
-}
-
interface RemoveCategory {
id: string;
}
@@ -128,52 +125,8 @@ export const useCategoryActions = () => {
);
const moveCategory = useCallback(
- ({ id, direction }: MoveCategory) => {
- updateBoard((previous) => {
- const currentCategory = previous.sections.find(
- (section): section is CategorySection => section.kind === "category" && section.id === id,
- );
- if (!currentCategory) return previous;
- if (currentCategory.yOffset === 1 && direction === "up") return previous;
- if (currentCategory.yOffset === previous.sections.length - 2 && direction === "down") return previous;
-
- return {
- ...previous,
- sections: previous.sections.map((section) => {
- if (section.kind !== "category" && section.kind !== "empty") return section;
- const offset = direction === "up" ? -2 : 2;
- // Move category and empty section
- if (section.yOffset === currentCategory.yOffset || section.yOffset - 1 === currentCategory.yOffset) {
- return {
- ...section,
- yOffset: section.yOffset + offset,
- };
- }
-
- if (
- direction === "up" &&
- (section.yOffset === currentCategory.yOffset - 2 || section.yOffset === currentCategory.yOffset - 1)
- ) {
- return {
- ...section,
- position: section.yOffset + 2,
- };
- }
-
- if (
- direction === "down" &&
- (section.yOffset === currentCategory.yOffset + 2 || section.yOffset === currentCategory.yOffset + 3)
- ) {
- return {
- ...section,
- position: section.yOffset - 2,
- };
- }
-
- return section;
- }),
- };
- });
+ (input: MoveCategoryInput) => {
+ updateBoard(moveCategoryCallback(input));
},
[updateBoard],
);
diff --git a/apps/nextjs/src/components/icons/picker/icon-picker.tsx b/apps/nextjs/src/components/icons/picker/icon-picker.tsx
index bd77a27d5..8a514f8a5 100644
--- a/apps/nextjs/src/components/icons/picker/icon-picker.tsx
+++ b/apps/nextjs/src/components/icons/picker/icon-picker.tsx
@@ -15,6 +15,7 @@ import {
UnstyledButton,
useCombobox,
} from "@mantine/core";
+import { useDebouncedValue } from "@mantine/hooks";
import { clientApi } from "@homarr/api/client";
import { useScopedI18n } from "@homarr/translation/client";
@@ -34,16 +35,19 @@ export const IconPicker = ({ initialValue, onChange, error, onFocus, onBlur }: I
const tCommon = useScopedI18n("common");
- const [data] = clientApi.icon.findIcons.useSuspenseQuery({
- searchText: search,
+ const [debouncedSearch] = useDebouncedValue(search, 100);
+
+ // We use not useSuspenseQuery as it would cause an above Suspense boundary to trigger and so searching for something is bad UX.
+ const { data } = clientApi.icon.findIcons.useQuery({
+ searchText: debouncedSearch,
});
const combobox = useCombobox({
onDropdownClose: () => combobox.resetSelectedOption(),
});
- const totalOptions = data.icons.reduce((acc, group) => acc + group.icons.length, 0);
- const groups = data.icons.map((group) => {
+ const totalOptions = data?.icons.reduce((acc, group) => acc + group.icons.length, 0) ?? 0;
+ const groups = data?.icons.map((group) => {
const options = group.icons.map((item) => (
{
@@ -92,8 +96,12 @@ export const IconPicker = ({ initialValue, onChange, error, onFocus, onBlur }: I
}
- // eslint-disable-next-line @next/next/no-img-element
- leftSection={previewUrl ?
: null}
+ leftSection={
+ previewUrl ? (
+ // eslint-disable-next-line @next/next/no-img-element
+
+ ) : null
+ }
value={search}
onChange={(event) => {
combobox.openDropdown();
@@ -118,7 +126,7 @@ export const IconPicker = ({ initialValue, onChange, error, onFocus, onBlur }: I
withAsterisk
error={error}
label={tCommon("iconPicker.label")}
- placeholder={tCommon("iconPicker.header", { countIcons: data.countIcons })}
+ placeholder={tCommon("iconPicker.header", { countIcons: data?.countIcons ?? 0 })}
/>
diff --git a/apps/nextjs/src/components/no-results.tsx b/apps/nextjs/src/components/no-results.tsx
new file mode 100644
index 000000000..c25724297
--- /dev/null
+++ b/apps/nextjs/src/components/no-results.tsx
@@ -0,0 +1,26 @@
+import { Anchor, Card, Stack, Text } from "@mantine/core";
+import type { TablerIcon } from "@tabler/icons-react";
+
+interface NoResultsProps {
+ icon: TablerIcon;
+ title: string;
+ action?: {
+ label: string;
+ href: string;
+ hidden?: boolean;
+ };
+}
+
+export const NoResults = ({ icon: Icon, title, action }: NoResultsProps) => {
+ return (
+
+
+
+
+ {title}
+
+ {!action?.hidden && {action?.label}}
+
+
+ );
+};
diff --git a/apps/nextjs/src/components/user-avatar-menu.tsx b/apps/nextjs/src/components/user-avatar-menu.tsx
index 63b089883..503642482 100644
--- a/apps/nextjs/src/components/user-avatar-menu.tsx
+++ b/apps/nextjs/src/components/user-avatar-menu.tsx
@@ -61,7 +61,8 @@ export const UserAvatarMenu = ({ children }: UserAvatarMenuProps) => {
}, [logoutUrl, openModal, router]);
return (
-
{options.fileSystem &&
disksData.map((disk) => {
diff --git a/packages/widgets/src/iframe/component.tsx b/packages/widgets/src/iframe/component.tsx
index e8af4d864..b561bd060 100644
--- a/packages/widgets/src/iframe/component.tsx
+++ b/packages/widgets/src/iframe/component.tsx
@@ -1,3 +1,5 @@
+"use client";
+
import { Box, Stack, Text, Title } from "@mantine/core";
import { IconBrowserOff } from "@tabler/icons-react";
diff --git a/packages/widgets/src/index.tsx b/packages/widgets/src/index.tsx
index e4876cfee..e2d83563a 100644
--- a/packages/widgets/src/index.tsx
+++ b/packages/widgets/src/index.tsx
@@ -3,7 +3,8 @@ import type { Loader } from "next/dynamic";
import dynamic from "next/dynamic";
import { Center, Loader as UiLoader } from "@mantine/core";
-import type { WidgetKind } from "@homarr/definitions";
+import { objectEntries } from "@homarr/common";
+import type { IntegrationKind, WidgetKind } from "@homarr/definitions";
import * as app from "./app";
import * as bookmarks from "./bookmarks";
@@ -21,16 +22,14 @@ import * as mediaRequestsList from "./media-requests/list";
import * as mediaRequestsStats from "./media-requests/stats";
import * as mediaServer from "./media-server";
import * as notebook from "./notebook";
+import type { WidgetOptionDefinition } from "./options";
import * as rssFeed from "./rssFeed";
import * as smartHomeEntityState from "./smart-home/entity-state";
import * as smartHomeExecuteAutomation from "./smart-home/execute-automation";
import * as video from "./video";
import * as weather from "./weather";
-export { reduceWidgetOptionsWithDefaultValues } from "./options";
-
export type { WidgetDefinition } from "./definition";
-export { WidgetEditModal } from "./modals/widget-edit-modal";
export type { WidgetComponentProps };
export const widgetImports = {
@@ -84,3 +83,21 @@ export type inferSupportedIntegrations = (WidgetImport
}
? WidgetImports[TKind]["definition"]["supportedIntegrations"]
: string[])[number];
+
+export type inferSupportedIntegrationsStrict = (WidgetImports[TKind]["definition"] extends {
+ supportedIntegrations: IntegrationKind[];
+}
+ ? WidgetImports[TKind]["definition"]["supportedIntegrations"]
+ : never[])[number];
+
+export const reduceWidgetOptionsWithDefaultValues = (kind: WidgetKind, currentValue: Record = {}) => {
+ const definition = widgetImports[kind].definition;
+ const options = definition.options as Record;
+ return objectEntries(options).reduce(
+ (prev, [key, value]) => ({
+ ...prev,
+ [key]: currentValue[key] ?? value.defaultValue,
+ }),
+ {} as Record,
+ );
+};
diff --git a/packages/widgets/src/media-requests/list/component.tsx b/packages/widgets/src/media-requests/list/component.tsx
index ce67166ba..301c98813 100644
--- a/packages/widgets/src/media-requests/list/component.tsx
+++ b/packages/widgets/src/media-requests/list/component.tsx
@@ -1,4 +1,5 @@
-import { useMemo } from "react";
+"use client";
+
import { ActionIcon, Anchor, Avatar, Badge, Card, Group, Image, ScrollArea, Stack, Text, Tooltip } from "@mantine/core";
import { IconThumbDown, IconThumbUp } from "@tabler/icons-react";
@@ -15,14 +16,11 @@ export default function MediaServerWidget({
integrationIds,
isEditMode,
options,
- itemId,
}: WidgetComponentProps<"mediaRequests-requestList">) {
const t = useScopedI18n("widget.mediaRequests-requestList");
const [mediaRequests] = clientApi.widget.mediaRequests.getLatestRequests.useSuspenseQuery(
{
integrationIds,
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
- itemId: itemId!,
},
{
refetchOnMount: false,
@@ -30,30 +28,39 @@ export default function MediaServerWidget({
refetchOnReconnect: false,
},
);
+ const utils = clientApi.useUtils();
+ clientApi.widget.mediaRequests.subscribeToLatestRequests.useSubscription(
+ {
+ integrationIds,
+ },
+ {
+ onData(data) {
+ utils.widget.mediaRequests.getLatestRequests.setData({ integrationIds }, (prevData) => {
+ if (!prevData) return [];
- const sortedMediaRequests = useMemo(
- () =>
- mediaRequests
- .filter((group) => group != null)
- .flatMap((group) => group.data)
- .flatMap(({ medias, integration }) => medias.map((media) => ({ ...media, integrationId: integration.id })))
- .sort(({ status: statusA }, { status: statusB }) => {
- if (statusA === MediaRequestStatus.PendingApproval) {
- return -1;
- }
- if (statusB === MediaRequestStatus.PendingApproval) {
- return 1;
- }
- return 0;
- }),
- [mediaRequests],
+ const filteredData = prevData.filter(({ integrationId }) => integrationId !== data.integrationId);
+ const newData = filteredData.concat(
+ data.requests.map((request) => ({ ...request, integrationId: data.integrationId })),
+ );
+ return newData.sort(({ status: statusA }, { status: statusB }) => {
+ if (statusA === MediaRequestStatus.PendingApproval) {
+ return -1;
+ }
+ if (statusB === MediaRequestStatus.PendingApproval) {
+ return 1;
+ }
+ return 0;
+ });
+ });
+ },
+ },
);
const { mutate: mutateRequestAnswer } = clientApi.widget.mediaRequests.answerRequest.useMutation();
if (integrationIds.length === 0) throw new NoIntegrationSelectedError();
- if (sortedMediaRequests.length === 0) throw new NoIntegrationDataError();
+ if (mediaRequests.length === 0) throw new NoIntegrationDataError();
return (
- {sortedMediaRequests.map((mediaRequest) => (
+ {mediaRequests.map((mediaRequest) => (
) {
const t = useScopedI18n("widget.mediaRequests-requestStats");
const [requestStats] = clientApi.widget.mediaRequests.getStats.useSuspenseQuery(
{
integrationIds,
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
- itemId: itemId!,
},
{
refetchOnMount: false,
@@ -45,67 +43,51 @@ export default function MediaServerWidget({
const { width, height, ref } = useElementSize();
- const baseData = useMemo(
- () => requestStats.filter((group) => group != null).flatMap((group) => group.data),
- [requestStats],
- );
-
- const stats = useMemo(() => baseData.flatMap(({ stats }) => stats), [baseData]);
- const users = useMemo(
- () =>
- baseData
- .flatMap(({ integration, users }) =>
- users.flatMap((user) => ({ ...user, appKind: integration.kind, appName: integration.name })),
- )
- .sort(({ requestCount: countA }, { requestCount: countB }) => countB - countA),
- [baseData],
- );
-
if (integrationIds.length === 0) throw new NoIntegrationSelectedError();
- if (users.length === 0 || stats.length === 0) throw new NoIntegrationDataError();
+ if (requestStats.users.length === 0 && requestStats.stats.length === 0) throw new NoIntegrationDataError();
//Add processing and available
const data = [
{
name: "approved",
icon: IconThumbUp,
- number: stats.reduce((count, { approved }) => count + approved, 0),
+ number: requestStats.stats.reduce((count, { approved }) => count + approved, 0),
},
{
name: "pending",
icon: IconHourglass,
- number: stats.reduce((count, { pending }) => count + pending, 0),
+ number: requestStats.stats.reduce((count, { pending }) => count + pending, 0),
},
{
name: "processing",
icon: IconLoaderQuarter,
- number: stats.reduce((count, { processing }) => count + processing, 0),
+ number: requestStats.stats.reduce((count, { processing }) => count + processing, 0),
},
{
name: "declined",
icon: IconThumbDown,
- number: stats.reduce((count, { declined }) => count + declined, 0),
+ number: requestStats.stats.reduce((count, { declined }) => count + declined, 0),
},
{
name: "available",
icon: IconPlayerPlay,
- number: stats.reduce((count, { available }) => count + available, 0),
+ number: requestStats.stats.reduce((count, { available }) => count + available, 0),
},
{
name: "tv",
icon: IconDeviceTv,
- number: stats.reduce((count, { tv }) => count + tv, 0),
+ number: requestStats.stats.reduce((count, { tv }) => count + tv, 0),
},
{
name: "movie",
icon: IconMovie,
- number: stats.reduce((count, { movie }) => count + movie, 0),
+ number: requestStats.stats.reduce((count, { movie }) => count + movie, 0),
},
{
name: "total",
icon: IconReceipt,
- number: stats.reduce((count, { total }) => count + total, 0),
+ number: requestStats.stats.reduce((count, { total }) => count + total, 0),
},
] satisfies { name: keyof RequestStats; icon: Icon; number: number }[];
@@ -156,7 +138,7 @@ export default function MediaServerWidget({
gap="2cqmin"
style={{ overflow: "hidden" }}
>
- {users.slice(0, Math.max(Math.floor((height / width) * 5), 1)).map((user) => (
+ {requestStats.users.slice(0, Math.max(Math.floor((height / width) * 5), 1)).map((user) => (
-
+
diff --git a/packages/widgets/src/modals/index.ts b/packages/widgets/src/modals/index.ts
new file mode 100644
index 000000000..7ea1185af
--- /dev/null
+++ b/packages/widgets/src/modals/index.ts
@@ -0,0 +1 @@
+export * from "./widget-edit-modal";
diff --git a/packages/widgets/src/options.ts b/packages/widgets/src/options.ts
index d65296dd8..3314a121f 100644
--- a/packages/widgets/src/options.ts
+++ b/packages/widgets/src/options.ts
@@ -2,12 +2,10 @@ import type React from "react";
import type { DraggableAttributes, UniqueIdentifier } from "@dnd-kit/core";
import type { ActionIconProps } from "@mantine/core";
-import { objectEntries } from "@homarr/common";
-import type { IntegrationKind, WidgetKind } from "@homarr/definitions";
+import type { IntegrationKind } from "@homarr/definitions";
import type { ZodType } from "@homarr/validation";
import { z } from "@homarr/validation";
-import { widgetImports } from ".";
import type { inferSelectOptionValue, SelectOption } from "./_inputs/widget-select-input";
interface CommonInput {
@@ -25,7 +23,7 @@ interface MultiSelectInput
searchable?: boolean;
}
-interface SortableItemListInput
+export interface SortableItemListInput
extends Omit, "withDescription"> {
AddButton: (props: { addItem: (item: TItem) => void; values: TOptionValue[] }) => React.ReactNode;
ItemComponent: (props: {
@@ -188,15 +186,3 @@ export type OptionsBuilderResult = ReturnType;
export const optionsBuilder = {
from: createOptions,
};
-
-export const reduceWidgetOptionsWithDefaultValues = (kind: WidgetKind, currentValue: Record = {}) => {
- const definition = widgetImports[kind].definition;
- const options = definition.options as Record;
- return objectEntries(options).reduce(
- (prev, [key, value]) => ({
- ...prev,
- [key]: currentValue[key] ?? value.defaultValue,
- }),
- {} as Record,
- );
-};
diff --git a/packages/widgets/src/rssFeed/component.tsx b/packages/widgets/src/rssFeed/component.tsx
index e1ce9efc9..a765503df 100644
--- a/packages/widgets/src/rssFeed/component.tsx
+++ b/packages/widgets/src/rssFeed/component.tsx
@@ -1,3 +1,5 @@
+"use client";
+
import { Card, Flex, Group, Image, ScrollArea, Stack, Text } from "@mantine/core";
import { IconClock } from "@tabler/icons-react";
import dayjs from "dayjs";
diff --git a/packages/widgets/src/smart-home/entity-state/component.tsx b/packages/widgets/src/smart-home/entity-state/component.tsx
index b627e5f73..410b6596c 100644
--- a/packages/widgets/src/smart-home/entity-state/component.tsx
+++ b/packages/widgets/src/smart-home/entity-state/component.tsx
@@ -1,41 +1,48 @@
"use client";
-import React, { useCallback, useState } from "react";
+import { useCallback } from "react";
import { Center, Stack, Text, UnstyledButton } from "@mantine/core";
import { clientApi } from "@homarr/api/client";
import type { WidgetComponentProps } from "../../definition";
+import { NoIntegrationSelectedError } from "../../errors";
export default function SmartHomeEntityStateWidget({
options,
integrationIds,
isEditMode,
}: WidgetComponentProps<"smartHome-entityState">) {
- const [lastState, setLastState] = useState<{
- entityId: string;
- state: string;
- }>();
+ const integrationId = integrationIds[0];
+
+ if (!integrationId) {
+ throw new NoIntegrationSelectedError();
+ }
+
+ return ;
+}
+
+type InnerComponentProps = Pick, "options" | "isEditMode"> & {
+ integrationId: string;
+};
+
+const InnerComponent = ({ options, integrationId, isEditMode }: InnerComponentProps) => {
+ const input = {
+ entityId: options.entityId,
+ integrationId,
+ };
+ const [entityState] = clientApi.widget.smartHome.entityState.useSuspenseQuery(input);
const utils = clientApi.useUtils();
- clientApi.widget.smartHome.subscribeEntityState.useSubscription(
- {
- entityId: options.entityId,
- },
- {
- onData(data) {
- setLastState(data);
- },
- },
- );
-
- const { mutate } = clientApi.widget.smartHome.switchEntity.useMutation({
- onSettled: () => {
- void utils.widget.smartHome.invalidate();
+ clientApi.widget.smartHome.subscribeEntityState.useSubscription(input, {
+ onData(data) {
+ utils.widget.smartHome.entityState.setData(input, data.state);
},
});
+ const { mutate } = clientApi.widget.smartHome.switchEntity.useMutation();
+
const attribute = options.entityUnit.length > 0 ? " " + options.entityUnit : "";
const handleClick = useCallback(() => {
@@ -49,9 +56,9 @@ export default function SmartHomeEntityStateWidget({
mutate({
entityId: options.entityId,
- integrationId: integrationIds[0] ?? "",
+ integrationId,
});
- }, [integrationIds, isEditMode, mutate, options.clickable, options.entityId]);
+ }, [integrationId, isEditMode, mutate, options.clickable, options.entityId]);
return (
- {lastState?.state}
+ {entityState}
{attribute}
);
-}
+};
diff --git a/packages/widgets/src/smart-home/execute-automation/component.tsx b/packages/widgets/src/smart-home/execute-automation/component.tsx
index e174cdb2b..a2cd856d9 100644
--- a/packages/widgets/src/smart-home/execute-automation/component.tsx
+++ b/packages/widgets/src/smart-home/execute-automation/component.tsx
@@ -1,3 +1,5 @@
+"use client";
+
import React from "react";
import { ActionIcon, Center, LoadingOverlay, Overlay, Stack, Text, UnstyledButton } from "@mantine/core";
import { useDisclosure, useTimeout } from "@mantine/hooks";
diff --git a/packages/widgets/src/weather/component.tsx b/packages/widgets/src/weather/component.tsx
index 9f5da3ade..dfff28da6 100644
--- a/packages/widgets/src/weather/component.tsx
+++ b/packages/widgets/src/weather/component.tsx
@@ -1,3 +1,5 @@
+"use client";
+
import { Box, Group, HoverCard, Space, Stack, Text } from "@mantine/core";
import { IconArrowDownRight, IconArrowUpRight, IconMapPin } from "@tabler/icons-react";
import combineClasses from "clsx";
diff --git a/patches/trpc-swagger@1.2.6.patch b/patches/trpc-swagger@1.2.6.patch
deleted file mode 100644
index c1b026bba..000000000
--- a/patches/trpc-swagger@1.2.6.patch
+++ /dev/null
@@ -1,2152 +0,0 @@
-diff --git a/build/index.js b/build/index.js
-index f35a9c8bdec56b61b7ecb25e9e5ff03ccf7e956c..ad4e395f73e02671f1d099c289067dcee1914b12 100644
---- a/build/index.js
-+++ b/build/index.js
-@@ -1,8 +1,40 @@
--"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }// packages/adapters/aws-lambda.ts
--var _server = require('@trpc/server');
--var _awslambda = require('@trpc/server/adapters/aws-lambda');
--var _events = require('events');
--var _nodemockshttp = require('node-mocks-http');
-+"use strict";
-+Object.defineProperty(exports, "__esModule", { value: true });
-+function _interopRequireDefault(obj) {
-+ return obj && obj.__esModule ? obj : { default: obj };
-+}
-+function _nullishCoalesce(lhs, rhsFn) {
-+ if (lhs != null) {
-+ return lhs;
-+ } else {
-+ return rhsFn();
-+ }
-+}
-+function _optionalChain(ops) {
-+ let lastAccessLHS = undefined;
-+ let value = ops[0];
-+ let i = 1;
-+ while (i < ops.length) {
-+ const op = ops[i];
-+ const fn = ops[i + 1];
-+ i += 2;
-+ if ((op === "optionalAccess" || op === "optionalCall") && value == null) {
-+ return undefined;
-+ }
-+ if (op === "access" || op === "optionalAccess") {
-+ lastAccessLHS = value;
-+ value = fn(value);
-+ } else if (op === "call" || op === "optionalCall") {
-+ value = fn((...args) => value.call(lastAccessLHS, ...args));
-+ lastAccessLHS = undefined;
-+ }
-+ }
-+ return value;
-+} // packages/adapters/aws-lambda.ts
-+var _server = require("@trpc/server");
-+var _awslambda = require("@trpc/server/adapters/aws-lambda");
-+var _events = require("events");
-+var _nodemockshttp = require("node-mocks-http");
-
- // packages/adapters/node-http/errors.ts
-
-@@ -21,7 +53,7 @@ var TRPC_ERROR_CODE_HTTP_STATUS = {
- METHOD_NOT_SUPPORTED: 405,
- TOO_MANY_REQUESTS: 429,
- UNPROCESSABLE_CONTENT: 422,
-- NOT_IMPLEMENTED: 500
-+ NOT_IMPLEMENTED: 500,
- };
- function getErrorFromUnknown(cause) {
- if (cause instanceof Error && cause.name === "TRPCError") {
-@@ -36,7 +68,7 @@ function getErrorFromUnknown(cause) {
- const error = new (0, _server.TRPCError)({
- message: "Internal server error",
- code: "INTERNAL_SERVER_ERROR",
-- cause: errorCause
-+ cause: errorCause,
- });
- if (stack) {
- error.stack = stack;
-@@ -46,11 +78,12 @@ function getErrorFromUnknown(cause) {
-
- // packages/adapters/node-http/core.ts
-
--var _lodashclonedeep = require('lodash.clonedeep'); var _lodashclonedeep2 = _interopRequireDefault(_lodashclonedeep);
-+var _lodashclonedeep = require("lodash.clonedeep");
-+var _lodashclonedeep2 = _interopRequireDefault(_lodashclonedeep);
-
- // packages/generator/paths.ts
-
--var _openapitypes = require('openapi-types');
-+var _openapitypes = require("openapi-types");
-
- // packages/utils/method.ts
- var acceptsRequestBody = (method) => {
-@@ -70,7 +103,7 @@ var getPathRegExp = (path) => {
- };
-
- // packages/utils/procedure.ts
--var _zod = require('zod');
-+var _zod = require("zod");
- var mergeInputs = (inputParsers) => {
- return inputParsers.reduce((acc, inputParser) => {
- return acc.merge(inputParser);
-@@ -80,21 +113,13 @@ var getInputOutputParsers = (procedure) => {
- const { inputs, output } = procedure._def;
- return {
- inputParser: inputs.length >= 2 ? mergeInputs(inputs) : inputs[0],
-- outputParser: output
-+ outputParser: output,
- };
- };
--var getProcedureType = (procedure) => {
-- if (procedure._def.query)
-- return "query";
-- if (procedure._def.mutation)
-- return "mutation";
-- if (procedure._def.subscription)
-- return "subscription";
-- throw new Error("Unknown procedure type");
--};
-+var getProcedureType = (procedure) => procedure._def.type;
- var forEachOpenApiProcedure = (procedureRecord, callback) => {
- for (const [path, procedure] of Object.entries(procedureRecord)) {
-- const { openapi } = _nullishCoalesce(procedure._def.meta, () => ( {}));
-+ const { openapi } = _nullishCoalesce(procedure._def.meta, () => ({}));
- if (openapi && openapi.enabled !== false) {
- const type = getProcedureType(procedure);
- callback({ path, type, procedure, openapi });
-@@ -104,16 +129,16 @@ var forEachOpenApiProcedure = (procedureRecord, callback) => {
-
- // packages/generator/schema.ts
-
--
--var _zodtojsonschema = require('zod-to-json-schema'); var _zodtojsonschema2 = _interopRequireDefault(_zodtojsonschema);
-+var _zodtojsonschema = require("zod-to-json-schema");
-+var _zodtojsonschema2 = _interopRequireDefault(_zodtojsonschema);
-
- // packages/utils/zod.ts
-
- var instanceofZodType = (type) => {
-- return !!_optionalChain([type, 'optionalAccess', _2 => _2._def, 'optionalAccess', _3 => _3.typeName]);
-+ return !!_optionalChain([type, "optionalAccess", (_2) => _2._def, "optionalAccess", (_3) => _3.typeName]);
- };
- var instanceofZodTypeKind = (type, zodTypeKind) => {
-- return _optionalChain([type, 'optionalAccess', _4 => _4._def, 'optionalAccess', _5 => _5.typeName]) === zodTypeKind;
-+ return _optionalChain([type, "optionalAccess", (_4) => _4._def, "optionalAccess", (_5) => _5.typeName]) === zodTypeKind;
- };
- var instanceofZodTypeOptional = (type) => {
- return instanceofZodTypeKind(type, _zod.z.ZodFirstPartyTypeKind.ZodOptional);
-@@ -122,7 +147,11 @@ var instanceofZodTypeObject = (type) => {
- return instanceofZodTypeKind(type, _zod.z.ZodFirstPartyTypeKind.ZodObject);
- };
- var instanceofZodTypeLikeVoid = (type) => {
-- return instanceofZodTypeKind(type, _zod.z.ZodFirstPartyTypeKind.ZodVoid) || instanceofZodTypeKind(type, _zod.z.ZodFirstPartyTypeKind.ZodUndefined) || instanceofZodTypeKind(type, _zod.z.ZodFirstPartyTypeKind.ZodNever);
-+ return (
-+ instanceofZodTypeKind(type, _zod.z.ZodFirstPartyTypeKind.ZodVoid) ||
-+ instanceofZodTypeKind(type, _zod.z.ZodFirstPartyTypeKind.ZodUndefined) ||
-+ instanceofZodTypeKind(type, _zod.z.ZodFirstPartyTypeKind.ZodNever)
-+ );
- };
- var unwrapZodType = (type, unwrapPreprocess) => {
- if (instanceofZodTypeKind(type, _zod.z.ZodFirstPartyTypeKind.ZodOptional)) {
-@@ -174,7 +203,12 @@ var instanceofZodTypeLikeString = (_type) => {
- var zodSupportsCoerce = "coerce" in _zod.z;
- var instanceofZodTypeCoercible = (_type) => {
- const type = unwrapZodType(_type, false);
-- return instanceofZodTypeKind(type, _zod.z.ZodFirstPartyTypeKind.ZodNumber) || instanceofZodTypeKind(type, _zod.z.ZodFirstPartyTypeKind.ZodBoolean) || instanceofZodTypeKind(type, _zod.z.ZodFirstPartyTypeKind.ZodBigInt) || instanceofZodTypeKind(type, _zod.z.ZodFirstPartyTypeKind.ZodDate);
-+ return (
-+ instanceofZodTypeKind(type, _zod.z.ZodFirstPartyTypeKind.ZodNumber) ||
-+ instanceofZodTypeKind(type, _zod.z.ZodFirstPartyTypeKind.ZodBoolean) ||
-+ instanceofZodTypeKind(type, _zod.z.ZodFirstPartyTypeKind.ZodBigInt) ||
-+ instanceofZodTypeKind(type, _zod.z.ZodFirstPartyTypeKind.ZodDate)
-+ );
- };
-
- // packages/generator/schema.ts
-@@ -185,7 +219,7 @@ var getParameterObjects = (schema, pathParameters, inType, example) => {
- if (!instanceofZodType(schema)) {
- throw new (0, _server.TRPCError)({
- message: "Input parser expects a Zod validator",
-- code: "INTERNAL_SERVER_ERROR"
-+ code: "INTERNAL_SERVER_ERROR",
- });
- }
- const isRequired = !schema.isOptional();
-@@ -196,7 +230,7 @@ var getParameterObjects = (schema, pathParameters, inType, example) => {
- if (!instanceofZodTypeObject(unwrappedSchema)) {
- throw new (0, _server.TRPCError)({
- message: "Input parser must be a ZodObject",
-- code: "INTERNAL_SERVER_ERROR"
-+ code: "INTERNAL_SERVER_ERROR",
- });
- }
- const { shape } = unwrappedSchema;
-@@ -205,63 +239,65 @@ var getParameterObjects = (schema, pathParameters, inType, example) => {
- if (!shapeKeys.includes(pathParameter)) {
- throw new (0, _server.TRPCError)({
- message: `Input parser expects key from path: "${pathParameter}"`,
-- code: "INTERNAL_SERVER_ERROR"
-+ code: "INTERNAL_SERVER_ERROR",
- });
- }
- }
-- return shapeKeys.filter((shapeKey) => {
-- const isPathParameter = pathParameters.includes(shapeKey);
-- if (inType === "path") {
-- return isPathParameter;
-- }
-- if (inType === "query") {
-- return !isPathParameter;
-- }
-- return true;
-- }).map((shapeKey) => {
-- let shapeSchema = shape[shapeKey];
-- const isShapeRequired = !shapeSchema.isOptional();
-- const isPathParameter = pathParameters.includes(shapeKey);
-- if (!instanceofZodTypeLikeString(shapeSchema)) {
-- if (zodSupportsCoerce) {
-- if (!instanceofZodTypeCoercible(shapeSchema)) {
-+ return shapeKeys
-+ .filter((shapeKey) => {
-+ const isPathParameter = pathParameters.includes(shapeKey);
-+ if (inType === "path") {
-+ return isPathParameter;
-+ }
-+ if (inType === "query") {
-+ return !isPathParameter;
-+ }
-+ return true;
-+ })
-+ .map((shapeKey) => {
-+ let shapeSchema = shape[shapeKey];
-+ const isShapeRequired = !shapeSchema.isOptional();
-+ const isPathParameter = pathParameters.includes(shapeKey);
-+ if (!instanceofZodTypeLikeString(shapeSchema)) {
-+ if (zodSupportsCoerce) {
-+ if (!instanceofZodTypeCoercible(shapeSchema)) {
-+ throw new (0, _server.TRPCError)({
-+ message: `Input parser key: "${shapeKey}" must be ZodString, ZodNumber, ZodBoolean, ZodBigInt or ZodDate`,
-+ code: "INTERNAL_SERVER_ERROR",
-+ });
-+ }
-+ } else {
- throw new (0, _server.TRPCError)({
-- message: `Input parser key: "${shapeKey}" must be ZodString, ZodNumber, ZodBoolean, ZodBigInt or ZodDate`,
-- code: "INTERNAL_SERVER_ERROR"
-+ message: `Input parser key: "${shapeKey}" must be ZodString`,
-+ code: "INTERNAL_SERVER_ERROR",
- });
- }
-- } else {
-- throw new (0, _server.TRPCError)({
-- message: `Input parser key: "${shapeKey}" must be ZodString`,
-- code: "INTERNAL_SERVER_ERROR"
-- });
- }
-- }
-- if (instanceofZodTypeOptional(shapeSchema)) {
-- if (isPathParameter) {
-- throw new (0, _server.TRPCError)({
-- message: `Path parameter: "${shapeKey}" must not be optional`,
-- code: "INTERNAL_SERVER_ERROR"
-- });
-+ if (instanceofZodTypeOptional(shapeSchema)) {
-+ if (isPathParameter) {
-+ throw new (0, _server.TRPCError)({
-+ message: `Path parameter: "${shapeKey}" must not be optional`,
-+ code: "INTERNAL_SERVER_ERROR",
-+ });
-+ }
-+ shapeSchema = shapeSchema.unwrap();
- }
-- shapeSchema = shapeSchema.unwrap();
-- }
-- const { description, ...openApiSchemaObject } = zodSchemaToOpenApiSchemaObject(shapeSchema);
-- return {
-- name: shapeKey,
-- in: isPathParameter ? "path" : "query",
-- required: isPathParameter || isRequired && isShapeRequired,
-- schema: openApiSchemaObject,
-- description,
-- example: _optionalChain([example, 'optionalAccess', _6 => _6[shapeKey]])
-- };
-- });
-+ const { description, ...openApiSchemaObject } = zodSchemaToOpenApiSchemaObject(shapeSchema);
-+ return {
-+ name: shapeKey,
-+ in: isPathParameter ? "path" : "query",
-+ required: isPathParameter || (isRequired && isShapeRequired),
-+ schema: openApiSchemaObject,
-+ description,
-+ example: _optionalChain([example, "optionalAccess", (_6) => _6[shapeKey]]),
-+ };
-+ });
- };
- var getRequestBodyObject = (schema, pathParameters, contentTypes, example) => {
- if (!instanceofZodType(schema)) {
- throw new (0, _server.TRPCError)({
- message: "Input parser expects a Zod validator",
-- code: "INTERNAL_SERVER_ERROR"
-+ code: "INTERNAL_SERVER_ERROR",
- });
- }
- const isRequired = !schema.isOptional();
-@@ -272,7 +308,7 @@ var getRequestBodyObject = (schema, pathParameters, contentTypes, example) => {
- if (!instanceofZodTypeObject(unwrappedSchema)) {
- throw new (0, _server.TRPCError)({
- message: "Input parser must be a ZodObject",
-- code: "INTERNAL_SERVER_ERROR"
-+ code: "INTERNAL_SERVER_ERROR",
- });
- }
- const mask = {};
-@@ -292,12 +328,12 @@ var getRequestBodyObject = (schema, pathParameters, contentTypes, example) => {
- for (const contentType of contentTypes) {
- content[contentType] = {
- schema: openApiSchemaObject,
-- example: dedupedExample
-+ example: dedupedExample,
- };
- }
- return {
- required: isRequired,
-- content
-+ content,
- };
- };
- var errorResponseObject = {
-@@ -308,17 +344,17 @@ var errorResponseObject = {
- _zod.z.object({
- message: _zod.z.string(),
- code: _zod.z.string(),
-- issues: _zod.z.array(_zod.z.object({ message: _zod.z.string() })).optional()
-+ issues: _zod.z.array(_zod.z.object({ message: _zod.z.string() })).optional(),
- })
-- )
-- }
-- }
-+ ),
-+ },
-+ },
- };
- var getResponsesObject = (schema, example, headers) => {
- if (!instanceofZodType(schema)) {
- throw new (0, _server.TRPCError)({
- message: "Output parser expects a Zod validator",
-- code: "INTERNAL_SERVER_ERROR"
-+ code: "INTERNAL_SERVER_ERROR",
- });
- }
- const successResponseObject = {
-@@ -327,15 +363,15 @@ var getResponsesObject = (schema, example, headers) => {
- content: {
- "application/json": {
- schema: zodSchemaToOpenApiSchemaObject(schema),
-- example
-- }
-- }
-+ example,
-+ },
-+ },
- };
- return {
- 200: successResponseObject,
- default: {
-- $ref: "#/components/responses/error"
-- }
-+ $ref: "#/components/responses/error",
-+ },
- };
- };
-
-@@ -349,31 +385,31 @@ var getOpenApiPathsObject = (appRouter, securitySchemeNames) => {
- if (type === "subscription") {
- throw new (0, _server.TRPCError)({
- message: "Subscriptions are not supported by OpenAPI v3",
-- code: "INTERNAL_SERVER_ERROR"
-+ code: "INTERNAL_SERVER_ERROR",
- });
- }
- const { method, protect, summary, description, tags, headers } = openapi;
- const path = normalizePath(openapi.path);
- const pathParameters = getPathParameters(path);
-- const headerParameters = _optionalChain([headers, 'optionalAccess', _7 => _7.map, 'call', _8 => _8((header) => ({ ...header, in: "header" }))]) || [];
-+ const headerParameters = _optionalChain([headers, "optionalAccess", (_7) => _7.map, "call", (_8) => _8((header) => ({ ...header, in: "header" }))]) || [];
- const httpMethod = _openapitypes.OpenAPIV3.HttpMethods[method];
- if (!httpMethod) {
- throw new (0, _server.TRPCError)({
- message: "Method must be GET, POST, PATCH, PUT or DELETE",
-- code: "INTERNAL_SERVER_ERROR"
-+ code: "INTERNAL_SERVER_ERROR",
- });
- }
-- if (_optionalChain([pathsObject, 'access', _9 => _9[path], 'optionalAccess', _10 => _10[httpMethod]])) {
-+ if (_optionalChain([pathsObject, "access", (_9) => _9[path], "optionalAccess", (_10) => _10[httpMethod]])) {
- throw new (0, _server.TRPCError)({
- message: `Duplicate procedure defined for route ${method} ${path}`,
-- code: "INTERNAL_SERVER_ERROR"
-+ code: "INTERNAL_SERVER_ERROR",
- });
- }
- const contentTypes = openapi.contentTypes || ["application/json"];
- if (contentTypes.length === 0) {
- throw new (0, _server.TRPCError)({
- message: "At least one content type must be specified",
-- code: "INTERNAL_SERVER_ERROR"
-+ code: "INTERNAL_SERVER_ERROR",
- });
- }
- const { inputParser, outputParser } = getInputOutputParsers(procedure);
-@@ -385,37 +421,24 @@ var getOpenApiPathsObject = (appRouter, securitySchemeNames) => {
- description,
- tags,
- security: protect ? securitySchemeNames.map((name) => ({ [name]: [] })) : void 0,
-- ...acceptsRequestBody(method) ? {
-- requestBody: getRequestBodyObject(
-- inputParser,
-- pathParameters,
-- contentTypes,
-- _optionalChain([openapi, 'access', _11 => _11.example, 'optionalAccess', _12 => _12.request])
-- ),
-- parameters: [
-- ...headerParameters,
-- ...getParameterObjects(
-- inputParser,
-- pathParameters,
-- "path",
-- _optionalChain([openapi, 'access', _13 => _13.example, 'optionalAccess', _14 => _14.request])
-- ) || []
-- ]
-- } : {
-- requestBody: void 0,
-- parameters: [
-- ...headerParameters,
-- ...getParameterObjects(
-- inputParser,
-- pathParameters,
-- "all",
-- _optionalChain([openapi, 'access', _15 => _15.example, 'optionalAccess', _16 => _16.request])
-- ) || []
-- ]
-- },
-- responses: getResponsesObject(outputParser, _optionalChain([openapi, 'access', _17 => _17.example, 'optionalAccess', _18 => _18.response]), openapi.responseHeaders),
-- ...openapi.deprecated ? { deprecated: openapi.deprecated } : {}
-- }
-+ ...(acceptsRequestBody(method)
-+ ? {
-+ requestBody: getRequestBodyObject(inputParser, pathParameters, contentTypes, _optionalChain([openapi, "access", (_11) => _11.example, "optionalAccess", (_12) => _12.request])),
-+ parameters: [
-+ ...headerParameters,
-+ ...(getParameterObjects(inputParser, pathParameters, "path", _optionalChain([openapi, "access", (_13) => _13.example, "optionalAccess", (_14) => _14.request])) || []),
-+ ],
-+ }
-+ : {
-+ requestBody: void 0,
-+ parameters: [
-+ ...headerParameters,
-+ ...(getParameterObjects(inputParser, pathParameters, "all", _optionalChain([openapi, "access", (_15) => _15.example, "optionalAccess", (_16) => _16.request])) || []),
-+ ],
-+ }),
-+ responses: getResponsesObject(outputParser, _optionalChain([openapi, "access", (_17) => _17.example, "optionalAccess", (_18) => _18.response]), openapi.responseHeaders),
-+ ...(openapi.deprecated ? { deprecated: openapi.deprecated } : {}),
-+ },
- };
- } catch (error) {
- error.message = `[${procedureName}] - ${error.message}`;
-@@ -431,36 +454,37 @@ var generateOpenApiDocument = (appRouter, opts) => {
- const securitySchemes = opts.securitySchemes || {
- Authorization: {
- type: "http",
-- scheme: "bearer"
-- }
-+ scheme: "bearer",
-+ },
- };
- return {
- openapi: openApiVersion,
- info: {
- title: opts.title,
- description: opts.description,
-- version: opts.version
-+ version: opts.version,
- },
- servers: [
- {
-- url: opts.baseUrl
-- }
-+ url: opts.baseUrl,
-+ },
- ],
- paths: getOpenApiPathsObject(appRouter, Object.keys(securitySchemes)),
- components: {
- securitySchemes,
- responses: {
-- error: errorResponseObject
-- }
-+ error: errorResponseObject,
-+ },
- },
-- tags: _optionalChain([opts, 'access', _19 => _19.tags, 'optionalAccess', _20 => _20.map, 'call', _21 => _21((tag) => ({ name: tag }))]),
-- externalDocs: opts.docsUrl ? { url: opts.docsUrl } : void 0
-+ tags: _optionalChain([opts, "access", (_19) => _19.tags, "optionalAccess", (_20) => _20.map, "call", (_21) => _21((tag) => ({ name: tag }))]),
-+ externalDocs: opts.docsUrl ? { url: opts.docsUrl } : void 0,
- };
- };
-
- // packages/adapters/node-http/input.ts
-
--var _cobody = require('co-body'); var _cobody2 = _interopRequireDefault(_cobody);
-+var _cobody = require("co-body");
-+var _cobody2 = _interopRequireDefault(_cobody);
- var getQuery = (req, url) => {
- const query = {};
- if (!req.query) {
-@@ -498,7 +522,7 @@ var getBody = async (req, maxBodySize = BODY_100_KB) => {
- const { raw, parsed } = await _cobody2.default.call(void 0, req, {
- limit: maxBodySize,
- strict: false,
-- returnRawBody: true
-+ returnRawBody: true,
- });
- req.body = raw ? parsed : void 0;
- } catch (cause) {
-@@ -506,7 +530,7 @@ var getBody = async (req, maxBodySize = BODY_100_KB) => {
- throw new (0, _server.TRPCError)({
- message: "Request body too large",
- code: "PAYLOAD_TOO_LARGE",
-- cause
-+ cause,
- });
- }
- let errorCause;
-@@ -516,7 +540,7 @@ var getBody = async (req, maxBodySize = BODY_100_KB) => {
- throw new (0, _server.TRPCError)({
- message: "Failed to parse request body",
- code: "PARSE_ERROR",
-- cause: errorCause
-+ cause: errorCause,
- });
- }
- }
-@@ -526,8 +550,7 @@ var getBody = async (req, maxBodySize = BODY_100_KB) => {
- // packages/adapters/node-http/procedures.ts
- var createProcedureCache = (router) => {
- const procedureCache = /* @__PURE__ */ new Map();
-- const { queries, mutations } = router._def;
-- forEachOpenApiProcedure(queries, ({ path: queryPath, procedure, openapi }) => {
-+ forEachOpenApiProcedure(router._def.procedures, ({ path: queryPath, procedure, openapi }) => {
- const { method } = openapi;
- if (!procedureCache.has(method)) {
- procedureCache.set(method, /* @__PURE__ */ new Map());
-@@ -535,22 +558,9 @@ var createProcedureCache = (router) => {
- const path = normalizePath(openapi.path);
- const pathRegExp = getPathRegExp(path);
- procedureCache.get(method).set(pathRegExp, {
-- type: "query",
-+ type: procedure._def.type,
- path: queryPath,
-- procedure
-- });
-- });
-- forEachOpenApiProcedure(mutations, ({ path: mutationPath, procedure, openapi }) => {
-- const { method } = openapi;
-- if (!procedureCache.has(method)) {
-- procedureCache.set(method, /* @__PURE__ */ new Map());
-- }
-- const path = normalizePath(openapi.path);
-- const pathRegExp = getPathRegExp(path);
-- procedureCache.get(method).set(pathRegExp, {
-- type: "mutation",
-- path: mutationPath,
-- procedure
-+ procedure,
- });
- });
- return (method, path) => {
-@@ -563,7 +573,7 @@ var createProcedureCache = (router) => {
- return void 0;
- }
- const procedure = procedureMethodCache.get(procedureRegExp);
-- const pathInput = _nullishCoalesce(_optionalChain([procedureRegExp, 'access', _22 => _22.exec, 'call', _23 => _23(path), 'optionalAccess', _24 => _24.groups]), () => ( {}));
-+ const pathInput = _nullishCoalesce(_optionalChain([procedureRegExp, "access", (_22) => _22.exec, "call", (_23) => _23(path), "optionalAccess", (_24) => _24.groups]), () => ({}));
- return { procedure, pathInput };
- };
- };
-@@ -591,7 +601,7 @@ var createOpenApiNodeHttpHandler = (opts) => {
- const reqUrl = req.url;
- const url = new URL(reqUrl.startsWith("/") ? `http://127.0.0.1${reqUrl}` : reqUrl);
- const path = normalizePath(url.pathname);
-- const { procedure, pathInput } = _nullishCoalesce(getProcedure(method, path), () => ( {}));
-+ const { procedure, pathInput } = _nullishCoalesce(getProcedure(method, path), () => ({}));
- let input;
- let ctx;
- let data;
-@@ -606,7 +616,7 @@ var createOpenApiNodeHttpHandler = (opts) => {
- }
- throw new (0, _server.TRPCError)({
- message: "Not found",
-- code: "NOT_FOUND"
-+ code: "NOT_FOUND",
- });
- }
- const useBody = acceptsRequestBody(method);
-@@ -614,8 +624,8 @@ var createOpenApiNodeHttpHandler = (opts) => {
- const unwrappedSchema = unwrapZodType(schema, true);
- if (!instanceofZodTypeLikeVoid(unwrappedSchema)) {
- input = {
-- ...useBody ? await getBody(req, maxBodySize) : getQuery(req, url),
-- ...pathInput
-+ ...(useBody ? await getBody(req, maxBodySize) : getQuery(req, url)),
-+ ...pathInput,
- };
- }
- if (zodSupportsCoerce) {
-@@ -628,53 +638,76 @@ var createOpenApiNodeHttpHandler = (opts) => {
- });
- }
- }
-- ctx = await _optionalChain([createContext, 'optionalCall', _25 => _25({ req, res })]);
-+ ctx = await _optionalChain([createContext, "optionalCall", (_25) => _25({ req, res })]);
- const caller = router.createCaller(ctx);
- const segments = procedure.path.split(".");
- const procedureFn = segments.reduce((acc, curr) => acc[curr], caller);
- data = await procedureFn(input);
-- const meta = _optionalChain([responseMeta, 'optionalCall', _26 => _26({
-- type: procedure.type,
-- paths: [procedure.path],
-- ctx,
-- data: [data],
-- errors: []
-- })]);
-- const statusCode = _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _27 => _27.status]), () => ( 200));
-- const headers = _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _28 => _28.headers]), () => ( {}));
-+ const meta = _optionalChain([
-+ responseMeta,
-+ "optionalCall",
-+ (_26) =>
-+ _26({
-+ type: procedure.type,
-+ paths: [procedure.path],
-+ ctx,
-+ data: [data],
-+ errors: [],
-+ }),
-+ ]);
-+ const statusCode = _nullishCoalesce(_optionalChain([meta, "optionalAccess", (_27) => _27.status]), () => 200);
-+ const headers = _nullishCoalesce(_optionalChain([meta, "optionalAccess", (_28) => _28.headers]), () => ({}));
- const body = data;
- sendResponse(statusCode, headers, body);
- } catch (cause) {
- const error = getErrorFromUnknown(cause);
-- _optionalChain([onError, 'optionalCall', _29 => _29({
-+ _optionalChain([
-+ onError,
-+ "optionalCall",
-+ (_29) =>
-+ _29({
-+ error,
-+ type: _nullishCoalesce(_optionalChain([procedure, "optionalAccess", (_30) => _30.type]), () => "unknown"),
-+ path: _optionalChain([procedure, "optionalAccess", (_31) => _31.path]),
-+ input,
-+ ctx,
-+ req,
-+ }),
-+ ]);
-+ const meta = _optionalChain([
-+ responseMeta,
-+ "optionalCall",
-+ (_32) =>
-+ _32({
-+ type: _nullishCoalesce(_optionalChain([procedure, "optionalAccess", (_33) => _33.type]), () => "unknown"),
-+ paths: _optionalChain([procedure, "optionalAccess", (_34) => _34.path]) ? [_optionalChain([procedure, "optionalAccess", (_35) => _35.path])] : void 0,
-+ ctx,
-+ data: [data],
-+ errors: [error],
-+ }),
-+ ]);
-+ const errorShape = router._def.errorFormatter({
- error,
-- type: _nullishCoalesce(_optionalChain([procedure, 'optionalAccess', _30 => _30.type]), () => ( "unknown")),
-- path: _optionalChain([procedure, 'optionalAccess', _31 => _31.path]),
-+ type: _nullishCoalesce(_optionalChain([procedure, "optionalAccess", (_36) => _36.type]), () => "unknown"),
-+ path: _optionalChain([procedure, "optionalAccess", (_37) => _37.path]),
- input,
- ctx,
-- req
-- })]);
-- const meta = _optionalChain([responseMeta, 'optionalCall', _32 => _32({
-- type: _nullishCoalesce(_optionalChain([procedure, 'optionalAccess', _33 => _33.type]), () => ( "unknown")),
-- paths: _optionalChain([procedure, 'optionalAccess', _34 => _34.path]) ? [_optionalChain([procedure, 'optionalAccess', _35 => _35.path])] : void 0,
-- ctx,
-- data: [data],
-- errors: [error]
-- })]);
-- const errorShape = router.getErrorShape({
-- error,
-- type: _nullishCoalesce(_optionalChain([procedure, 'optionalAccess', _36 => _36.type]), () => ( "unknown")),
-- path: _optionalChain([procedure, 'optionalAccess', _37 => _37.path]),
-- input,
-- ctx
- });
- const isInputValidationError = error.code === "BAD_REQUEST" && error.cause instanceof Error && error.cause.name === "ZodError";
-- const statusCode = _nullishCoalesce(_nullishCoalesce(_optionalChain([meta, 'optionalAccess', _38 => _38.status]), () => ( TRPC_ERROR_CODE_HTTP_STATUS[error.code])), () => ( 500));
-- const headers = _nullishCoalesce(_optionalChain([meta, 'optionalAccess', _39 => _39.headers]), () => ( {}));
-+ const statusCode = _nullishCoalesce(
-+ _nullishCoalesce(_optionalChain([meta, "optionalAccess", (_38) => _38.status]), () => TRPC_ERROR_CODE_HTTP_STATUS[error.code]),
-+ () => 500
-+ );
-+ const headers = _nullishCoalesce(_optionalChain([meta, "optionalAccess", (_39) => _39.headers]), () => ({}));
- const body = {
-- message: isInputValidationError ? "Input validation failed" : _nullishCoalesce(_nullishCoalesce(_optionalChain([errorShape, 'optionalAccess', _40 => _40.message]), () => ( error.message)), () => ( "An error occurred")),
-+ message: isInputValidationError
-+ ? "Input validation failed"
-+ : _nullishCoalesce(
-+ _nullishCoalesce(_optionalChain([errorShape, "optionalAccess", (_40) => _40.message]), () => error.message),
-+ () => "An error occurred"
-+ ),
- code: error.code,
-- issues: isInputValidationError ? error.cause.errors : void 0
-+ issues: isInputValidationError ? error.cause.errors : void 0,
- };
- sendResponse(statusCode, headers, body);
- }
-@@ -693,7 +726,13 @@ var createMockNodeHTTPRequest = (path, event) => {
- const url = event.requestContext.domainName ? `https://${event.requestContext.domainName}${path}` : path;
- const method = _awslambda.getHTTPMethod.call(void 0, event).toUpperCase();
- let body;
-- const contentType = event.headers[_nullishCoalesce(Object.keys(event.headers).find((key) => key.toLowerCase() === "content-type"), () => ( ""))];
-+ const contentType =
-+ event.headers[
-+ _nullishCoalesce(
-+ Object.keys(event.headers).find((key) => key.toLowerCase() === "content-type"),
-+ () => ""
-+ )
-+ ];
- if (contentType === "application/json") {
- try {
- if (event.body) {
-@@ -703,7 +742,7 @@ var createMockNodeHTTPRequest = (path, event) => {
- throw new (0, _server.TRPCError)({
- message: "Failed to parse request body",
- code: "PARSE_ERROR",
-- cause
-+ cause,
- });
- }
- }
-@@ -721,7 +760,7 @@ var createMockNodeHTTPRequest = (path, event) => {
- throw new (0, _server.TRPCError)({
- message: "Failed to parse request body",
- code: "PARSE_ERROR",
-- cause
-+ cause,
- });
- }
- }
-@@ -730,7 +769,7 @@ var createMockNodeHTTPRequest = (path, event) => {
- method,
- query: event.queryStringParameters || void 0,
- headers: event.headers,
-- body
-+ body,
- });
- };
- var createMockNodeHTTPResponse = () => {
-@@ -743,10 +782,10 @@ var createOpenApiAwsLambdaHandler = (opts) => {
- if (!_awslambda.isPayloadV1.call(void 0, event) && !_awslambda.isPayloadV2.call(void 0, event)) {
- throw new (0, _server.TRPCError)({
- message: _awslambda.UNKNOWN_PAYLOAD_FORMAT_VERSION_ERROR_MESSAGE,
-- code: "INTERNAL_SERVER_ERROR"
-+ code: "INTERNAL_SERVER_ERROR",
- });
- }
-- const createContext = async () => _optionalChain([opts, 'access', _41 => _41.createContext, 'optionalCall', _42 => _42({ event, context })]);
-+ const createContext = async () => _optionalChain([opts, "access", (_41) => _41.createContext, "optionalCall", (_42) => _42({ event, context })]);
- const openApiHttpHandler = createOpenApiNodeHttpHandler({ ...opts, createContext });
- path = createMockNodeHTTPPath(event);
- const req = createMockNodeHTTPRequest(path, event);
-@@ -755,42 +794,62 @@ var createOpenApiAwsLambdaHandler = (opts) => {
- return {
- statusCode: res.statusCode,
- headers: _awslambda.transformHeaders.call(void 0, res._getHeaders() || {}),
-- body: res._getData()
-+ body: res._getData(),
- };
- } catch (cause) {
- const error = getErrorFromUnknown(cause);
-- _optionalChain([opts, 'access', _43 => _43.onError, 'optionalCall', _44 => _44({
-+ _optionalChain([
-+ opts,
-+ "access",
-+ (_43) => _43.onError,
-+ "optionalCall",
-+ (_44) =>
-+ _44({
-+ error,
-+ type: "unknown",
-+ path,
-+ input: void 0,
-+ ctx: void 0,
-+ req: event,
-+ }),
-+ ]);
-+ const meta = _optionalChain([
-+ opts,
-+ "access",
-+ (_45) => _45.responseMeta,
-+ "optionalCall",
-+ (_46) =>
-+ _46({
-+ type: "unknown",
-+ paths: [path],
-+ ctx: void 0,
-+ data: [void 0],
-+ errors: [error],
-+ }),
-+ ]);
-+ const errorShape = opts.router._def.errorFormatter({
- error,
- type: "unknown",
- path,
- input: void 0,
- ctx: void 0,
-- req: event
-- })]);
-- const meta = _optionalChain([opts, 'access', _45 => _45.responseMeta, 'optionalCall', _46 => _46({
-- type: "unknown",
-- paths: [path],
-- ctx: void 0,
-- data: [void 0],
-- errors: [error]
-- })]);
-- const errorShape = opts.router.getErrorShape({
-- error,
-- type: "unknown",
-- path,
-- input: void 0,
-- ctx: void 0
- });
-- const statusCode = _nullishCoalesce(_nullishCoalesce(_optionalChain([meta, 'optionalAccess', _47 => _47.status]), () => ( TRPC_ERROR_CODE_HTTP_STATUS[error.code])), () => ( 500));
-- const headers = { "content-type": "application/json", ..._nullishCoalesce(_optionalChain([meta, 'optionalAccess', _48 => _48.headers]), () => ( {})) };
-+ const statusCode = _nullishCoalesce(
-+ _nullishCoalesce(_optionalChain([meta, "optionalAccess", (_47) => _47.status]), () => TRPC_ERROR_CODE_HTTP_STATUS[error.code]),
-+ () => 500
-+ );
-+ const headers = { "content-type": "application/json", ..._nullishCoalesce(_optionalChain([meta, "optionalAccess", (_48) => _48.headers]), () => ({})) };
- const body = {
-- message: _nullishCoalesce(_nullishCoalesce(_optionalChain([errorShape, 'optionalAccess', _49 => _49.message]), () => ( error.message)), () => ( "An error occurred")),
-- code: error.code
-+ message: _nullishCoalesce(
-+ _nullishCoalesce(_optionalChain([errorShape, "optionalAccess", (_49) => _49.message]), () => error.message),
-+ () => "An error occurred"
-+ ),
-+ code: error.code,
- };
- return {
- statusCode,
- headers,
-- body: JSON.stringify(body)
-+ body: JSON.stringify(body),
- };
- }
- };
-@@ -806,7 +865,7 @@ var createOpenApiExpressMiddleware = (opts) => {
-
- // packages/adapters/fastify.ts
- function fastifyTRPCOpenApiPlugin(fastify, opts, done) {
-- let prefix = _nullishCoalesce(opts.basePath, () => ( ""));
-+ let prefix = _nullishCoalesce(opts.basePath, () => "");
- if (prefix.endsWith("/")) {
- prefix = prefix.slice(0, -1);
- }
-@@ -824,7 +883,7 @@ function fastifyTRPCOpenApiPlugin(fastify, opts, done) {
- }
- return reply.header(key, value);
- },
-- end: (body) => reply.send(body)
-+ end: (body) => reply.send(body),
- // eslint-disable-line @typescript-eslint/no-explicit-any
- })
- );
-@@ -844,27 +903,55 @@ var getUrlEncodedBody = async (req) => {
- };
- var getRequestBody = async (req) => {
- try {
-- if (_optionalChain([req, 'access', _50 => _50.headers, 'access', _51 => _51.get, 'call', _52 => _52("content-type"), 'optionalAccess', _53 => _53.includes, 'call', _54 => _54("application/json")])) {
-+ if (
-+ _optionalChain([
-+ req,
-+ "access",
-+ (_50) => _50.headers,
-+ "access",
-+ (_51) => _51.get,
-+ "call",
-+ (_52) => _52("content-type"),
-+ "optionalAccess",
-+ (_53) => _53.includes,
-+ "call",
-+ (_54) => _54("application/json"),
-+ ])
-+ ) {
- return {
- isValid: true,
- // use JSON.parse instead of req.json() because req.json() does not throw on invalid JSON
-- data: JSON.parse(await req.text())
-+ data: JSON.parse(await req.text()),
- };
- }
-- if (_optionalChain([req, 'access', _55 => _55.headers, 'access', _56 => _56.get, 'call', _57 => _57("content-type"), 'optionalAccess', _58 => _58.includes, 'call', _59 => _59("application/x-www-form-urlencoded")])) {
-+ if (
-+ _optionalChain([
-+ req,
-+ "access",
-+ (_55) => _55.headers,
-+ "access",
-+ (_56) => _56.get,
-+ "call",
-+ (_57) => _57("content-type"),
-+ "optionalAccess",
-+ (_58) => _58.includes,
-+ "call",
-+ (_59) => _59("application/x-www-form-urlencoded"),
-+ ])
-+ ) {
- return {
- isValid: true,
-- data: await getUrlEncodedBody(req)
-+ data: await getUrlEncodedBody(req),
- };
- }
- return {
- isValid: true,
-- data: req.body
-+ data: req.body,
- };
- } catch (err) {
- return {
- isValid: false,
-- cause: err
-+ cause: err,
- };
- }
- };
-@@ -879,7 +966,7 @@ var createRequestProxy = async (req, url) => {
- return new Proxy(target.headers, {
- get: (trg, item) => {
- return trg.get(item.toString());
-- }
-+ },
- });
- }
- if (prop === "body") {
-@@ -887,13 +974,13 @@ var createRequestProxy = async (req, url) => {
- throw new (0, _server.TRPCError)({
- code: "PARSE_ERROR",
- message: "Failed to parse request body",
-- cause: body.cause
-+ cause: body.cause,
- });
- }
- return body.data;
- }
- return target[prop];
-- }
-+ },
- });
- };
- var createOpenApiFetchHandler = async (opts) => {
-@@ -910,38 +997,35 @@ var createOpenApiFetchHandler = async (opts) => {
- router: opts.router,
- createContext,
- onError: opts.onError,
-- responseMeta: opts.responseMeta
-+ responseMeta: opts.responseMeta,
- });
- return new Promise((resolve) => {
- let statusCode;
-- return openApiHttpHandler(
-- req,
-- {
-- setHeader: (key, value) => {
-- if (typeof value === "string") {
-- resHeaders.set(key, value);
-- } else {
-- for (const v of value) {
-- resHeaders.append(key, v);
-- }
-+ return openApiHttpHandler(req, {
-+ setHeader: (key, value) => {
-+ if (typeof value === "string") {
-+ resHeaders.set(key, value);
-+ } else {
-+ for (const v of value) {
-+ resHeaders.append(key, v);
- }
-- },
-- get statusCode() {
-- return statusCode;
-- },
-- set statusCode(code) {
-- statusCode = code;
-- },
-- end: (body) => {
-- resolve(
-- new Response(body, {
-- headers: resHeaders,
-- status: statusCode
-- })
-- );
- }
-- }
-- );
-+ },
-+ get statusCode() {
-+ return statusCode;
-+ },
-+ set statusCode(code) {
-+ statusCode = code;
-+ },
-+ end: (body) => {
-+ resolve(
-+ new Response(body, {
-+ headers: resHeaders,
-+ status: statusCode,
-+ })
-+ );
-+ },
-+ });
- });
- };
-
-@@ -959,21 +1043,28 @@ var createOpenApiNextHandler = (opts) => {
- if (pathname === null) {
- const error = new (0, _server.TRPCError)({
- message: 'Query "trpc" not found - is the `trpc-swagger` file named `[...trpc].ts`?',
-- code: "INTERNAL_SERVER_ERROR"
-+ code: "INTERNAL_SERVER_ERROR",
- });
-- _optionalChain([opts, 'access', _60 => _60.onError, 'optionalCall', _61 => _61({
-- error,
-- type: "unknown",
-- path: void 0,
-- input: void 0,
-- ctx: void 0,
-- req
-- })]);
-+ _optionalChain([
-+ opts,
-+ "access",
-+ (_60) => _60.onError,
-+ "optionalCall",
-+ (_61) =>
-+ _61({
-+ error,
-+ type: "unknown",
-+ path: void 0,
-+ input: void 0,
-+ ctx: void 0,
-+ req,
-+ }),
-+ ]);
- res.statusCode = 500;
- res.setHeader("Content-Type", "application/json");
- const body = {
- message: error.message,
-- code: error.code
-+ code: error.code,
- };
- res.end(JSON.stringify(body));
- return;
-@@ -985,7 +1076,6 @@ var createOpenApiNextHandler = (opts) => {
-
- // packages/adapters/nuxt.ts
-
--
- // node_modules/ufo/dist/index.mjs
- var r = String.fromCharCode;
- var PLUS_RE = /\+/g;
-@@ -1044,9 +1134,7 @@ function getQuery2(input) {
- }
- var protocolRelative = Symbol.for("ufo:protocolRelative");
- function parseURL(input = "", defaultProto) {
-- const _specialProtoMatch = input.match(
-- /^[\s\0]*(blob:|data:|javascript:|vbscript:)(.*)/i
-- );
-+ const _specialProtoMatch = input.match(/^[\s\0]*(blob:|data:|javascript:|vbscript:)(.*)/i);
- if (_specialProtoMatch) {
- const [, _proto, _pathname = ""] = _specialProtoMatch;
- return {
-@@ -1056,7 +1144,7 @@ function parseURL(input = "", defaultProto) {
- auth: "",
- host: "",
- search: "",
-- hash: ""
-+ hash: "",
- };
- }
- if (!hasProtocol(input, { acceptRelative: true })) {
-@@ -1064,9 +1152,7 @@ function parseURL(input = "", defaultProto) {
- }
- const [, protocol = "", auth, hostAndPath = ""] = input.replace(/\\/g, "/").match(/^[\s\0]*([\w+.-]{2,}:)?\/\/([^/@]+@)?(.*)/) || [];
- const [, host = "", path = ""] = hostAndPath.match(/([^#/?]*)(.*)?/) || [];
-- const { pathname, search, hash } = parsePath(
-- path.replace(/\/(?=[A-Za-z]:)/, "")
-- );
-+ const { pathname, search, hash } = parsePath(path.replace(/\/(?=[A-Za-z]:)/, ""));
- return {
- protocol: protocol.toLowerCase(),
- auth: auth ? auth.slice(0, Math.max(0, auth.length - 1)) : "",
-@@ -1074,7 +1160,7 @@ function parseURL(input = "", defaultProto) {
- pathname,
- search,
- hash,
-- [protocolRelative]: !protocol
-+ [protocolRelative]: !protocol,
- };
- }
- function parsePath(input = "") {
-@@ -1082,7 +1168,7 @@ function parsePath(input = "") {
- return {
- pathname,
- search,
-- hash
-+ hash,
- };
- }
-
-@@ -1122,12 +1208,7 @@ function _defu(baseObject, defaults, namespace = ".", merger) {
- if (Array.isArray(value) && Array.isArray(object[key])) {
- object[key] = [...value, ...object[key]];
- } else if (isPlainObject(value) && isPlainObject(object[key])) {
-- object[key] = _defu(
-- value,
-- object[key],
-- (namespace ? `${namespace}.` : "") + key.toString(),
-- merger
-- );
-+ object[key] = _defu(value, object[key], (namespace ? `${namespace}.` : "") + key.toString(), merger);
- } else {
- object[key] = value;
- }
-@@ -1135,10 +1216,9 @@ function _defu(baseObject, defaults, namespace = ".", merger) {
- return object;
- }
- function createDefu(merger) {
-- return (...arguments_) => (
-+ return (...arguments_) =>
- // eslint-disable-next-line unicorn/no-array-reduce
-- arguments_.reduce((p, c) => _defu(p, c, "", merger), {})
-- );
-+ arguments_.reduce((p, c) => _defu(p, c, "", merger), {});
- }
- var defu = createDefu();
- var defuFn = createDefu((object, key, currentValue) => {
-@@ -1156,7 +1236,7 @@ var defuArrayFn = createDefu((object, key, currentValue) => {
-
- // node_modules/h3/dist/index.mjs
- var __defProp$2 = Object.defineProperty;
--var __defNormalProp$2 = (obj, key, value) => key in obj ? __defProp$2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
-+var __defNormalProp$2 = (obj, key, value) => (key in obj ? __defProp$2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : (obj[key] = value));
- var __publicField$2 = (obj, key, value) => {
- __defNormalProp$2(obj, typeof key !== "symbol" ? key + "" : key, value);
- return value;
-@@ -1177,7 +1257,7 @@ var H3Error = class extends Error {
- toJSON() {
- const obj = {
- message: this.message,
-- statusCode: sanitizeStatusCode(this.statusCode, 500)
-+ statusCode: sanitizeStatusCode(this.statusCode, 500),
- };
- if (this.statusMessage) {
- obj.statusMessage = sanitizeStatusMessage(this.statusMessage);
-@@ -1218,7 +1298,7 @@ function defineEventHandler(handler) {
- }
- const _hooks = {
- onRequest: _normalizeArray(handler.onRequest),
-- onBeforeResponse: _normalizeArray(handler.onBeforeResponse)
-+ onBeforeResponse: _normalizeArray(handler.onBeforeResponse),
- };
- const _handler = (event) => {
- return _callHandler(event, handler.handler, _hooks);
-@@ -1229,7 +1309,7 @@ function defineEventHandler(handler) {
- return _handler;
- }
- function _normalizeArray(input) {
-- return input ? Array.isArray(input) ? input : [input] : void 0;
-+ return input ? (Array.isArray(input) ? input : [input]) : void 0;
- }
- async function _callHandler(event, handler, hooks) {
- if (hooks.onRequest) {
-@@ -1258,7 +1338,7 @@ var createOpenApiNuxtHandler = (opts) => {
- return defineEventHandler(async (event) => {
- let pathname = null;
- const { params } = event.context;
-- if (params && _optionalChain([params, 'optionalAccess', _62 => _62.trpc])) {
-+ if (params && _optionalChain([params, "optionalAccess", (_62) => _62.trpc])) {
- if (!params.trpc.includes("/")) {
- pathname = params.trpc;
- } else {
-@@ -1268,21 +1348,28 @@ var createOpenApiNuxtHandler = (opts) => {
- if (pathname === null) {
- const error = new (0, _server.TRPCError)({
- message: 'Query "trpc" not found - is the `trpc-swagger` file named `[...trpc].ts`?',
-- code: "INTERNAL_SERVER_ERROR"
-+ code: "INTERNAL_SERVER_ERROR",
- });
-- _optionalChain([opts, 'access', _63 => _63.onError, 'optionalCall', _64 => _64({
-- error,
-- type: "unknown",
-- path: void 0,
-- input: void 0,
-- ctx: void 0,
-- req: event.node.req
-- })]);
-+ _optionalChain([
-+ opts,
-+ "access",
-+ (_63) => _63.onError,
-+ "optionalCall",
-+ (_64) =>
-+ _64({
-+ error,
-+ type: "unknown",
-+ path: void 0,
-+ input: void 0,
-+ ctx: void 0,
-+ req: event.node.req,
-+ }),
-+ ]);
- event.node.res.statusCode = 500;
- event.node.res.setHeader("Content-Type", "application/json");
- const body = {
- message: error.message,
-- code: error.code
-+ code: error.code,
- };
- event.node.res.end(JSON.stringify(body));
- return;
-@@ -1301,14 +1388,13 @@ var createOpenApiHttpHandler = (opts) => {
- };
- };
-
--
--
--
--
--
--
--
--
--
--exports.createOpenApiAwsLambdaHandler = createOpenApiAwsLambdaHandler; exports.createOpenApiExpressMiddleware = createOpenApiExpressMiddleware; exports.createOpenApiFetchHandler = createOpenApiFetchHandler; exports.createOpenApiHttpHandler = createOpenApiHttpHandler; exports.createOpenApiNextHandler = createOpenApiNextHandler; exports.createOpenApiNuxtHandler = createOpenApiNuxtHandler; exports.fastifyTRPCOpenApiPlugin = fastifyTRPCOpenApiPlugin; exports.generateOpenApiDocument = generateOpenApiDocument; exports.openApiVersion = openApiVersion;
-+exports.createOpenApiAwsLambdaHandler = createOpenApiAwsLambdaHandler;
-+exports.createOpenApiExpressMiddleware = createOpenApiExpressMiddleware;
-+exports.createOpenApiFetchHandler = createOpenApiFetchHandler;
-+exports.createOpenApiHttpHandler = createOpenApiHttpHandler;
-+exports.createOpenApiNextHandler = createOpenApiNextHandler;
-+exports.createOpenApiNuxtHandler = createOpenApiNuxtHandler;
-+exports.fastifyTRPCOpenApiPlugin = fastifyTRPCOpenApiPlugin;
-+exports.generateOpenApiDocument = generateOpenApiDocument;
-+exports.openApiVersion = openApiVersion;
- //# sourceMappingURL=index.js.map
-diff --git a/build/index.mjs b/build/index.mjs
-index a23c6fb2fb648818fb0ece6addb62fd69511986e..b21a4a57ca8178bfe7d6b81d7d4d66b18c9ff0b8 100644
---- a/build/index.mjs
-+++ b/build/index.mjs
-@@ -1,6 +1,5 @@
- // packages/adapters/aws-lambda.ts
- import { TRPCError as TRPCError6 } from "@trpc/server";
--import { UNKNOWN_PAYLOAD_FORMAT_VERSION_ERROR_MESSAGE, getHTTPMethod, getPath, isPayloadV1, isPayloadV2, transformHeaders } from "@trpc/server/adapters/aws-lambda";
- import { EventEmitter } from "events";
- import { createRequest, createResponse } from "node-mocks-http";
-
-@@ -21,7 +20,7 @@ var TRPC_ERROR_CODE_HTTP_STATUS = {
- METHOD_NOT_SUPPORTED: 405,
- TOO_MANY_REQUESTS: 429,
- UNPROCESSABLE_CONTENT: 422,
-- NOT_IMPLEMENTED: 500
-+ NOT_IMPLEMENTED: 500,
- };
- function getErrorFromUnknown(cause) {
- if (cause instanceof Error && cause.name === "TRPCError") {
-@@ -36,7 +35,7 @@ function getErrorFromUnknown(cause) {
- const error = new TRPCError({
- message: "Internal server error",
- code: "INTERNAL_SERVER_ERROR",
-- cause: errorCause
-+ cause: errorCause,
- });
- if (stack) {
- error.stack = stack;
-@@ -80,18 +79,10 @@ var getInputOutputParsers = (procedure) => {
- const { inputs, output } = procedure._def;
- return {
- inputParser: inputs.length >= 2 ? mergeInputs(inputs) : inputs[0],
-- outputParser: output
-+ outputParser: output,
- };
- };
--var getProcedureType = (procedure) => {
-- if (procedure._def.query)
-- return "query";
-- if (procedure._def.mutation)
-- return "mutation";
-- if (procedure._def.subscription)
-- return "subscription";
-- throw new Error("Unknown procedure type");
--};
-+var getProcedureType = (procedure) => procedure._def.type;
- var forEachOpenApiProcedure = (procedureRecord, callback) => {
- for (const [path, procedure] of Object.entries(procedureRecord)) {
- const { openapi } = procedure._def.meta ?? {};
-@@ -122,7 +113,11 @@ var instanceofZodTypeObject = (type) => {
- return instanceofZodTypeKind(type, z2.ZodFirstPartyTypeKind.ZodObject);
- };
- var instanceofZodTypeLikeVoid = (type) => {
-- return instanceofZodTypeKind(type, z2.ZodFirstPartyTypeKind.ZodVoid) || instanceofZodTypeKind(type, z2.ZodFirstPartyTypeKind.ZodUndefined) || instanceofZodTypeKind(type, z2.ZodFirstPartyTypeKind.ZodNever);
-+ return (
-+ instanceofZodTypeKind(type, z2.ZodFirstPartyTypeKind.ZodVoid) ||
-+ instanceofZodTypeKind(type, z2.ZodFirstPartyTypeKind.ZodUndefined) ||
-+ instanceofZodTypeKind(type, z2.ZodFirstPartyTypeKind.ZodNever)
-+ );
- };
- var unwrapZodType = (type, unwrapPreprocess) => {
- if (instanceofZodTypeKind(type, z2.ZodFirstPartyTypeKind.ZodOptional)) {
-@@ -174,7 +169,12 @@ var instanceofZodTypeLikeString = (_type) => {
- var zodSupportsCoerce = "coerce" in z2;
- var instanceofZodTypeCoercible = (_type) => {
- const type = unwrapZodType(_type, false);
-- return instanceofZodTypeKind(type, z2.ZodFirstPartyTypeKind.ZodNumber) || instanceofZodTypeKind(type, z2.ZodFirstPartyTypeKind.ZodBoolean) || instanceofZodTypeKind(type, z2.ZodFirstPartyTypeKind.ZodBigInt) || instanceofZodTypeKind(type, z2.ZodFirstPartyTypeKind.ZodDate);
-+ return (
-+ instanceofZodTypeKind(type, z2.ZodFirstPartyTypeKind.ZodNumber) ||
-+ instanceofZodTypeKind(type, z2.ZodFirstPartyTypeKind.ZodBoolean) ||
-+ instanceofZodTypeKind(type, z2.ZodFirstPartyTypeKind.ZodBigInt) ||
-+ instanceofZodTypeKind(type, z2.ZodFirstPartyTypeKind.ZodDate)
-+ );
- };
-
- // packages/generator/schema.ts
-@@ -185,7 +185,7 @@ var getParameterObjects = (schema, pathParameters, inType, example) => {
- if (!instanceofZodType(schema)) {
- throw new TRPCError2({
- message: "Input parser expects a Zod validator",
-- code: "INTERNAL_SERVER_ERROR"
-+ code: "INTERNAL_SERVER_ERROR",
- });
- }
- const isRequired = !schema.isOptional();
-@@ -196,7 +196,7 @@ var getParameterObjects = (schema, pathParameters, inType, example) => {
- if (!instanceofZodTypeObject(unwrappedSchema)) {
- throw new TRPCError2({
- message: "Input parser must be a ZodObject",
-- code: "INTERNAL_SERVER_ERROR"
-+ code: "INTERNAL_SERVER_ERROR",
- });
- }
- const { shape } = unwrappedSchema;
-@@ -205,63 +205,65 @@ var getParameterObjects = (schema, pathParameters, inType, example) => {
- if (!shapeKeys.includes(pathParameter)) {
- throw new TRPCError2({
- message: `Input parser expects key from path: "${pathParameter}"`,
-- code: "INTERNAL_SERVER_ERROR"
-+ code: "INTERNAL_SERVER_ERROR",
- });
- }
- }
-- return shapeKeys.filter((shapeKey) => {
-- const isPathParameter = pathParameters.includes(shapeKey);
-- if (inType === "path") {
-- return isPathParameter;
-- }
-- if (inType === "query") {
-- return !isPathParameter;
-- }
-- return true;
-- }).map((shapeKey) => {
-- let shapeSchema = shape[shapeKey];
-- const isShapeRequired = !shapeSchema.isOptional();
-- const isPathParameter = pathParameters.includes(shapeKey);
-- if (!instanceofZodTypeLikeString(shapeSchema)) {
-- if (zodSupportsCoerce) {
-- if (!instanceofZodTypeCoercible(shapeSchema)) {
-+ return shapeKeys
-+ .filter((shapeKey) => {
-+ const isPathParameter = pathParameters.includes(shapeKey);
-+ if (inType === "path") {
-+ return isPathParameter;
-+ }
-+ if (inType === "query") {
-+ return !isPathParameter;
-+ }
-+ return true;
-+ })
-+ .map((shapeKey) => {
-+ let shapeSchema = shape[shapeKey];
-+ const isShapeRequired = !shapeSchema.isOptional();
-+ const isPathParameter = pathParameters.includes(shapeKey);
-+ if (!instanceofZodTypeLikeString(shapeSchema)) {
-+ if (zodSupportsCoerce) {
-+ if (!instanceofZodTypeCoercible(shapeSchema)) {
-+ throw new TRPCError2({
-+ message: `Input parser key: "${shapeKey}" must be ZodString, ZodNumber, ZodBoolean, ZodBigInt or ZodDate`,
-+ code: "INTERNAL_SERVER_ERROR",
-+ });
-+ }
-+ } else {
- throw new TRPCError2({
-- message: `Input parser key: "${shapeKey}" must be ZodString, ZodNumber, ZodBoolean, ZodBigInt or ZodDate`,
-- code: "INTERNAL_SERVER_ERROR"
-+ message: `Input parser key: "${shapeKey}" must be ZodString`,
-+ code: "INTERNAL_SERVER_ERROR",
- });
- }
-- } else {
-- throw new TRPCError2({
-- message: `Input parser key: "${shapeKey}" must be ZodString`,
-- code: "INTERNAL_SERVER_ERROR"
-- });
- }
-- }
-- if (instanceofZodTypeOptional(shapeSchema)) {
-- if (isPathParameter) {
-- throw new TRPCError2({
-- message: `Path parameter: "${shapeKey}" must not be optional`,
-- code: "INTERNAL_SERVER_ERROR"
-- });
-+ if (instanceofZodTypeOptional(shapeSchema)) {
-+ if (isPathParameter) {
-+ throw new TRPCError2({
-+ message: `Path parameter: "${shapeKey}" must not be optional`,
-+ code: "INTERNAL_SERVER_ERROR",
-+ });
-+ }
-+ shapeSchema = shapeSchema.unwrap();
- }
-- shapeSchema = shapeSchema.unwrap();
-- }
-- const { description, ...openApiSchemaObject } = zodSchemaToOpenApiSchemaObject(shapeSchema);
-- return {
-- name: shapeKey,
-- in: isPathParameter ? "path" : "query",
-- required: isPathParameter || isRequired && isShapeRequired,
-- schema: openApiSchemaObject,
-- description,
-- example: example?.[shapeKey]
-- };
-- });
-+ const { description, ...openApiSchemaObject } = zodSchemaToOpenApiSchemaObject(shapeSchema);
-+ return {
-+ name: shapeKey,
-+ in: isPathParameter ? "path" : "query",
-+ required: isPathParameter || (isRequired && isShapeRequired),
-+ schema: openApiSchemaObject,
-+ description,
-+ example: example?.[shapeKey],
-+ };
-+ });
- };
- var getRequestBodyObject = (schema, pathParameters, contentTypes, example) => {
- if (!instanceofZodType(schema)) {
- throw new TRPCError2({
- message: "Input parser expects a Zod validator",
-- code: "INTERNAL_SERVER_ERROR"
-+ code: "INTERNAL_SERVER_ERROR",
- });
- }
- const isRequired = !schema.isOptional();
-@@ -272,7 +274,7 @@ var getRequestBodyObject = (schema, pathParameters, contentTypes, example) => {
- if (!instanceofZodTypeObject(unwrappedSchema)) {
- throw new TRPCError2({
- message: "Input parser must be a ZodObject",
-- code: "INTERNAL_SERVER_ERROR"
-+ code: "INTERNAL_SERVER_ERROR",
- });
- }
- const mask = {};
-@@ -292,12 +294,12 @@ var getRequestBodyObject = (schema, pathParameters, contentTypes, example) => {
- for (const contentType of contentTypes) {
- content[contentType] = {
- schema: openApiSchemaObject,
-- example: dedupedExample
-+ example: dedupedExample,
- };
- }
- return {
- required: isRequired,
-- content
-+ content,
- };
- };
- var errorResponseObject = {
-@@ -308,17 +310,17 @@ var errorResponseObject = {
- z3.object({
- message: z3.string(),
- code: z3.string(),
-- issues: z3.array(z3.object({ message: z3.string() })).optional()
-+ issues: z3.array(z3.object({ message: z3.string() })).optional(),
- })
-- )
-- }
-- }
-+ ),
-+ },
-+ },
- };
- var getResponsesObject = (schema, example, headers) => {
- if (!instanceofZodType(schema)) {
- throw new TRPCError2({
- message: "Output parser expects a Zod validator",
-- code: "INTERNAL_SERVER_ERROR"
-+ code: "INTERNAL_SERVER_ERROR",
- });
- }
- const successResponseObject = {
-@@ -327,15 +329,15 @@ var getResponsesObject = (schema, example, headers) => {
- content: {
- "application/json": {
- schema: zodSchemaToOpenApiSchemaObject(schema),
-- example
-- }
-- }
-+ example,
-+ },
-+ },
- };
- return {
- 200: successResponseObject,
- default: {
-- $ref: "#/components/responses/error"
-- }
-+ $ref: "#/components/responses/error",
-+ },
- };
- };
-
-@@ -349,7 +351,7 @@ var getOpenApiPathsObject = (appRouter, securitySchemeNames) => {
- if (type === "subscription") {
- throw new TRPCError3({
- message: "Subscriptions are not supported by OpenAPI v3",
-- code: "INTERNAL_SERVER_ERROR"
-+ code: "INTERNAL_SERVER_ERROR",
- });
- }
- const { method, protect, summary, description, tags, headers } = openapi;
-@@ -360,20 +362,20 @@ var getOpenApiPathsObject = (appRouter, securitySchemeNames) => {
- if (!httpMethod) {
- throw new TRPCError3({
- message: "Method must be GET, POST, PATCH, PUT or DELETE",
-- code: "INTERNAL_SERVER_ERROR"
-+ code: "INTERNAL_SERVER_ERROR",
- });
- }
- if (pathsObject[path]?.[httpMethod]) {
- throw new TRPCError3({
- message: `Duplicate procedure defined for route ${method} ${path}`,
-- code: "INTERNAL_SERVER_ERROR"
-+ code: "INTERNAL_SERVER_ERROR",
- });
- }
- const contentTypes = openapi.contentTypes || ["application/json"];
- if (contentTypes.length === 0) {
- throw new TRPCError3({
- message: "At least one content type must be specified",
-- code: "INTERNAL_SERVER_ERROR"
-+ code: "INTERNAL_SERVER_ERROR",
- });
- }
- const { inputParser, outputParser } = getInputOutputParsers(procedure);
-@@ -385,37 +387,18 @@ var getOpenApiPathsObject = (appRouter, securitySchemeNames) => {
- description,
- tags,
- security: protect ? securitySchemeNames.map((name) => ({ [name]: [] })) : void 0,
-- ...acceptsRequestBody(method) ? {
-- requestBody: getRequestBodyObject(
-- inputParser,
-- pathParameters,
-- contentTypes,
-- openapi.example?.request
-- ),
-- parameters: [
-- ...headerParameters,
-- ...getParameterObjects(
-- inputParser,
-- pathParameters,
-- "path",
-- openapi.example?.request
-- ) || []
-- ]
-- } : {
-- requestBody: void 0,
-- parameters: [
-- ...headerParameters,
-- ...getParameterObjects(
-- inputParser,
-- pathParameters,
-- "all",
-- openapi.example?.request
-- ) || []
-- ]
-- },
-+ ...(acceptsRequestBody(method)
-+ ? {
-+ requestBody: getRequestBodyObject(inputParser, pathParameters, contentTypes, openapi.example?.request),
-+ parameters: [...headerParameters, ...(getParameterObjects(inputParser, pathParameters, "path", openapi.example?.request) || [])],
-+ }
-+ : {
-+ requestBody: void 0,
-+ parameters: [...headerParameters, ...(getParameterObjects(inputParser, pathParameters, "all", openapi.example?.request) || [])],
-+ }),
- responses: getResponsesObject(outputParser, openapi.example?.response, openapi.responseHeaders),
-- ...openapi.deprecated ? { deprecated: openapi.deprecated } : {}
-- }
-+ ...(openapi.deprecated ? { deprecated: openapi.deprecated } : {}),
-+ },
- };
- } catch (error) {
- error.message = `[${procedureName}] - ${error.message}`;
-@@ -431,30 +414,30 @@ var generateOpenApiDocument = (appRouter, opts) => {
- const securitySchemes = opts.securitySchemes || {
- Authorization: {
- type: "http",
-- scheme: "bearer"
-- }
-+ scheme: "bearer",
-+ },
- };
- return {
- openapi: openApiVersion,
- info: {
- title: opts.title,
- description: opts.description,
-- version: opts.version
-+ version: opts.version,
- },
- servers: [
- {
-- url: opts.baseUrl
-- }
-+ url: opts.baseUrl,
-+ },
- ],
- paths: getOpenApiPathsObject(appRouter, Object.keys(securitySchemes)),
- components: {
- securitySchemes,
- responses: {
-- error: errorResponseObject
-- }
-+ error: errorResponseObject,
-+ },
- },
- tags: opts.tags?.map((tag) => ({ name: tag })),
-- externalDocs: opts.docsUrl ? { url: opts.docsUrl } : void 0
-+ externalDocs: opts.docsUrl ? { url: opts.docsUrl } : void 0,
- };
- };
-
-@@ -498,7 +481,7 @@ var getBody = async (req, maxBodySize = BODY_100_KB) => {
- const { raw, parsed } = await parse(req, {
- limit: maxBodySize,
- strict: false,
-- returnRawBody: true
-+ returnRawBody: true,
- });
- req.body = raw ? parsed : void 0;
- } catch (cause) {
-@@ -506,7 +489,7 @@ var getBody = async (req, maxBodySize = BODY_100_KB) => {
- throw new TRPCError4({
- message: "Request body too large",
- code: "PAYLOAD_TOO_LARGE",
-- cause
-+ cause,
- });
- }
- let errorCause;
-@@ -516,7 +499,7 @@ var getBody = async (req, maxBodySize = BODY_100_KB) => {
- throw new TRPCError4({
- message: "Failed to parse request body",
- code: "PARSE_ERROR",
-- cause: errorCause
-+ cause: errorCause,
- });
- }
- }
-@@ -526,31 +509,18 @@ var getBody = async (req, maxBodySize = BODY_100_KB) => {
- // packages/adapters/node-http/procedures.ts
- var createProcedureCache = (router) => {
- const procedureCache = /* @__PURE__ */ new Map();
-- const { queries, mutations } = router._def;
-- forEachOpenApiProcedure(queries, ({ path: queryPath, procedure, openapi }) => {
-+ forEachOpenApiProcedure(router._def.procedures, ({ path: queryPath, procedure, openapi }) => {
- const { method } = openapi;
- if (!procedureCache.has(method)) {
- procedureCache.set(method, /* @__PURE__ */ new Map());
- }
- const path = normalizePath(openapi.path);
- const pathRegExp = getPathRegExp(path);
-+
- procedureCache.get(method).set(pathRegExp, {
-- type: "query",
-+ type: procedure._def.type,
- path: queryPath,
-- procedure
-- });
-- });
-- forEachOpenApiProcedure(mutations, ({ path: mutationPath, procedure, openapi }) => {
-- const { method } = openapi;
-- if (!procedureCache.has(method)) {
-- procedureCache.set(method, /* @__PURE__ */ new Map());
-- }
-- const path = normalizePath(openapi.path);
-- const pathRegExp = getPathRegExp(path);
-- procedureCache.get(method).set(pathRegExp, {
-- type: "mutation",
-- path: mutationPath,
-- procedure
-+ procedure,
- });
- });
- return (method, path) => {
-@@ -606,7 +576,7 @@ var createOpenApiNodeHttpHandler = (opts) => {
- }
- throw new TRPCError5({
- message: "Not found",
-- code: "NOT_FOUND"
-+ code: "NOT_FOUND",
- });
- }
- const useBody = acceptsRequestBody(method);
-@@ -614,8 +584,8 @@ var createOpenApiNodeHttpHandler = (opts) => {
- const unwrappedSchema = unwrapZodType(schema, true);
- if (!instanceofZodTypeLikeVoid(unwrappedSchema)) {
- input = {
-- ...useBody ? await getBody(req, maxBodySize) : getQuery(req, url),
-- ...pathInput
-+ ...(useBody ? await getBody(req, maxBodySize) : getQuery(req, url)),
-+ ...pathInput,
- };
- }
- if (zodSupportsCoerce) {
-@@ -638,7 +608,7 @@ var createOpenApiNodeHttpHandler = (opts) => {
- paths: [procedure.path],
- ctx,
- data: [data],
-- errors: []
-+ errors: [],
- });
- const statusCode = meta?.status ?? 200;
- const headers = meta?.headers ?? {};
-@@ -652,21 +622,21 @@ var createOpenApiNodeHttpHandler = (opts) => {
- path: procedure?.path,
- input,
- ctx,
-- req
-+ req,
- });
- const meta = responseMeta?.({
- type: procedure?.type ?? "unknown",
- paths: procedure?.path ? [procedure?.path] : void 0,
- ctx,
- data: [data],
-- errors: [error]
-+ errors: [error],
- });
-- const errorShape = router.getErrorShape({
-+ const errorShape = router._def.errorFormatter({
- error,
- type: procedure?.type ?? "unknown",
- path: procedure?.path,
- input,
-- ctx
-+ ctx,
- });
- const isInputValidationError = error.code === "BAD_REQUEST" && error.cause instanceof Error && error.cause.name === "ZodError";
- const statusCode = meta?.status ?? TRPC_ERROR_CODE_HTTP_STATUS[error.code] ?? 500;
-@@ -674,7 +644,7 @@ var createOpenApiNodeHttpHandler = (opts) => {
- const body = {
- message: isInputValidationError ? "Input validation failed" : errorShape?.message ?? error.message ?? "An error occurred",
- code: error.code,
-- issues: isInputValidationError ? error.cause.errors : void 0
-+ issues: isInputValidationError ? error.cause.errors : void 0,
- };
- sendResponse(statusCode, headers, body);
- }
-@@ -703,7 +673,7 @@ var createMockNodeHTTPRequest = (path, event) => {
- throw new TRPCError6({
- message: "Failed to parse request body",
- code: "PARSE_ERROR",
-- cause
-+ cause,
- });
- }
- }
-@@ -721,7 +691,7 @@ var createMockNodeHTTPRequest = (path, event) => {
- throw new TRPCError6({
- message: "Failed to parse request body",
- code: "PARSE_ERROR",
-- cause
-+ cause,
- });
- }
- }
-@@ -730,7 +700,7 @@ var createMockNodeHTTPRequest = (path, event) => {
- method,
- query: event.queryStringParameters || void 0,
- headers: event.headers,
-- body
-+ body,
- });
- };
- var createMockNodeHTTPResponse = () => {
-@@ -743,7 +713,7 @@ var createOpenApiAwsLambdaHandler = (opts) => {
- if (!isPayloadV1(event) && !isPayloadV2(event)) {
- throw new TRPCError6({
- message: UNKNOWN_PAYLOAD_FORMAT_VERSION_ERROR_MESSAGE,
-- code: "INTERNAL_SERVER_ERROR"
-+ code: "INTERNAL_SERVER_ERROR",
- });
- }
- const createContext = async () => opts.createContext?.({ event, context });
-@@ -755,7 +725,7 @@ var createOpenApiAwsLambdaHandler = (opts) => {
- return {
- statusCode: res.statusCode,
- headers: transformHeaders(res._getHeaders() || {}),
-- body: res._getData()
-+ body: res._getData(),
- };
- } catch (cause) {
- const error = getErrorFromUnknown(cause);
-@@ -765,32 +735,32 @@ var createOpenApiAwsLambdaHandler = (opts) => {
- path,
- input: void 0,
- ctx: void 0,
-- req: event
-+ req: event,
- });
- const meta = opts.responseMeta?.({
- type: "unknown",
- paths: [path],
- ctx: void 0,
- data: [void 0],
-- errors: [error]
-+ errors: [error],
- });
-- const errorShape = opts.router.getErrorShape({
-+ const errorShape = opts.router._def.errorFormatter({
- error,
- type: "unknown",
- path,
- input: void 0,
-- ctx: void 0
-+ ctx: void 0,
- });
- const statusCode = meta?.status ?? TRPC_ERROR_CODE_HTTP_STATUS[error.code] ?? 500;
-- const headers = { "content-type": "application/json", ...meta?.headers ?? {} };
-+ const headers = { "content-type": "application/json", ...(meta?.headers ?? {}) };
- const body = {
- message: errorShape?.message ?? error.message ?? "An error occurred",
-- code: error.code
-+ code: error.code,
- };
- return {
- statusCode,
- headers,
-- body: JSON.stringify(body)
-+ body: JSON.stringify(body),
- };
- }
- };
-@@ -824,7 +794,7 @@ function fastifyTRPCOpenApiPlugin(fastify, opts, done) {
- }
- return reply.header(key, value);
- },
-- end: (body) => reply.send(body)
-+ end: (body) => reply.send(body),
- // eslint-disable-line @typescript-eslint/no-explicit-any
- })
- );
-@@ -848,23 +818,23 @@ var getRequestBody = async (req) => {
- return {
- isValid: true,
- // use JSON.parse instead of req.json() because req.json() does not throw on invalid JSON
-- data: JSON.parse(await req.text())
-+ data: JSON.parse(await req.text()),
- };
- }
- if (req.headers.get("content-type")?.includes("application/x-www-form-urlencoded")) {
- return {
- isValid: true,
-- data: await getUrlEncodedBody(req)
-+ data: await getUrlEncodedBody(req),
- };
- }
- return {
- isValid: true,
-- data: req.body
-+ data: req.body,
- };
- } catch (err) {
- return {
- isValid: false,
-- cause: err
-+ cause: err,
- };
- }
- };
-@@ -879,7 +849,7 @@ var createRequestProxy = async (req, url) => {
- return new Proxy(target.headers, {
- get: (trg, item) => {
- return trg.get(item.toString());
-- }
-+ },
- });
- }
- if (prop === "body") {
-@@ -887,13 +857,13 @@ var createRequestProxy = async (req, url) => {
- throw new TRPCError7({
- code: "PARSE_ERROR",
- message: "Failed to parse request body",
-- cause: body.cause
-+ cause: body.cause,
- });
- }
- return body.data;
- }
- return target[prop];
-- }
-+ },
- });
- };
- var createOpenApiFetchHandler = async (opts) => {
-@@ -910,38 +880,35 @@ var createOpenApiFetchHandler = async (opts) => {
- router: opts.router,
- createContext,
- onError: opts.onError,
-- responseMeta: opts.responseMeta
-+ responseMeta: opts.responseMeta,
- });
- return new Promise((resolve) => {
- let statusCode;
-- return openApiHttpHandler(
-- req,
-- {
-- setHeader: (key, value) => {
-- if (typeof value === "string") {
-- resHeaders.set(key, value);
-- } else {
-- for (const v of value) {
-- resHeaders.append(key, v);
-- }
-+ return openApiHttpHandler(req, {
-+ setHeader: (key, value) => {
-+ if (typeof value === "string") {
-+ resHeaders.set(key, value);
-+ } else {
-+ for (const v of value) {
-+ resHeaders.append(key, v);
- }
-- },
-- get statusCode() {
-- return statusCode;
-- },
-- set statusCode(code) {
-- statusCode = code;
-- },
-- end: (body) => {
-- resolve(
-- new Response(body, {
-- headers: resHeaders,
-- status: statusCode
-- })
-- );
- }
-- }
-- );
-+ },
-+ get statusCode() {
-+ return statusCode;
-+ },
-+ set statusCode(code) {
-+ statusCode = code;
-+ },
-+ end: (body) => {
-+ resolve(
-+ new Response(body, {
-+ headers: resHeaders,
-+ status: statusCode,
-+ })
-+ );
-+ },
-+ });
- });
- };
-
-@@ -959,7 +926,7 @@ var createOpenApiNextHandler = (opts) => {
- if (pathname === null) {
- const error = new TRPCError8({
- message: 'Query "trpc" not found - is the `trpc-swagger` file named `[...trpc].ts`?',
-- code: "INTERNAL_SERVER_ERROR"
-+ code: "INTERNAL_SERVER_ERROR",
- });
- opts.onError?.({
- error,
-@@ -967,13 +934,13 @@ var createOpenApiNextHandler = (opts) => {
- path: void 0,
- input: void 0,
- ctx: void 0,
-- req
-+ req,
- });
- res.statusCode = 500;
- res.setHeader("Content-Type", "application/json");
- const body = {
- message: error.message,
-- code: error.code
-+ code: error.code,
- };
- res.end(JSON.stringify(body));
- return;
-@@ -1044,9 +1011,7 @@ function getQuery2(input) {
- }
- var protocolRelative = Symbol.for("ufo:protocolRelative");
- function parseURL(input = "", defaultProto) {
-- const _specialProtoMatch = input.match(
-- /^[\s\0]*(blob:|data:|javascript:|vbscript:)(.*)/i
-- );
-+ const _specialProtoMatch = input.match(/^[\s\0]*(blob:|data:|javascript:|vbscript:)(.*)/i);
- if (_specialProtoMatch) {
- const [, _proto, _pathname = ""] = _specialProtoMatch;
- return {
-@@ -1056,7 +1021,7 @@ function parseURL(input = "", defaultProto) {
- auth: "",
- host: "",
- search: "",
-- hash: ""
-+ hash: "",
- };
- }
- if (!hasProtocol(input, { acceptRelative: true })) {
-@@ -1064,9 +1029,7 @@ function parseURL(input = "", defaultProto) {
- }
- const [, protocol = "", auth, hostAndPath = ""] = input.replace(/\\/g, "/").match(/^[\s\0]*([\w+.-]{2,}:)?\/\/([^/@]+@)?(.*)/) || [];
- const [, host = "", path = ""] = hostAndPath.match(/([^#/?]*)(.*)?/) || [];
-- const { pathname, search, hash } = parsePath(
-- path.replace(/\/(?=[A-Za-z]:)/, "")
-- );
-+ const { pathname, search, hash } = parsePath(path.replace(/\/(?=[A-Za-z]:)/, ""));
- return {
- protocol: protocol.toLowerCase(),
- auth: auth ? auth.slice(0, Math.max(0, auth.length - 1)) : "",
-@@ -1074,7 +1037,7 @@ function parseURL(input = "", defaultProto) {
- pathname,
- search,
- hash,
-- [protocolRelative]: !protocol
-+ [protocolRelative]: !protocol,
- };
- }
- function parsePath(input = "") {
-@@ -1082,7 +1045,7 @@ function parsePath(input = "") {
- return {
- pathname,
- search,
-- hash
-+ hash,
- };
- }
-
-@@ -1122,12 +1085,7 @@ function _defu(baseObject, defaults, namespace = ".", merger) {
- if (Array.isArray(value) && Array.isArray(object[key])) {
- object[key] = [...value, ...object[key]];
- } else if (isPlainObject(value) && isPlainObject(object[key])) {
-- object[key] = _defu(
-- value,
-- object[key],
-- (namespace ? `${namespace}.` : "") + key.toString(),
-- merger
-- );
-+ object[key] = _defu(value, object[key], (namespace ? `${namespace}.` : "") + key.toString(), merger);
- } else {
- object[key] = value;
- }
-@@ -1135,10 +1093,9 @@ function _defu(baseObject, defaults, namespace = ".", merger) {
- return object;
- }
- function createDefu(merger) {
-- return (...arguments_) => (
-+ return (...arguments_) =>
- // eslint-disable-next-line unicorn/no-array-reduce
-- arguments_.reduce((p, c) => _defu(p, c, "", merger), {})
-- );
-+ arguments_.reduce((p, c) => _defu(p, c, "", merger), {});
- }
- var defu = createDefu();
- var defuFn = createDefu((object, key, currentValue) => {
-@@ -1156,7 +1113,7 @@ var defuArrayFn = createDefu((object, key, currentValue) => {
-
- // node_modules/h3/dist/index.mjs
- var __defProp$2 = Object.defineProperty;
--var __defNormalProp$2 = (obj, key, value) => key in obj ? __defProp$2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
-+var __defNormalProp$2 = (obj, key, value) => (key in obj ? __defProp$2(obj, key, { enumerable: true, configurable: true, writable: true, value }) : (obj[key] = value));
- var __publicField$2 = (obj, key, value) => {
- __defNormalProp$2(obj, typeof key !== "symbol" ? key + "" : key, value);
- return value;
-@@ -1177,7 +1134,7 @@ var H3Error = class extends Error {
- toJSON() {
- const obj = {
- message: this.message,
-- statusCode: sanitizeStatusCode(this.statusCode, 500)
-+ statusCode: sanitizeStatusCode(this.statusCode, 500),
- };
- if (this.statusMessage) {
- obj.statusMessage = sanitizeStatusMessage(this.statusMessage);
-@@ -1218,7 +1175,7 @@ function defineEventHandler(handler) {
- }
- const _hooks = {
- onRequest: _normalizeArray(handler.onRequest),
-- onBeforeResponse: _normalizeArray(handler.onBeforeResponse)
-+ onBeforeResponse: _normalizeArray(handler.onBeforeResponse),
- };
- const _handler = (event) => {
- return _callHandler(event, handler.handler, _hooks);
-@@ -1229,7 +1186,7 @@ function defineEventHandler(handler) {
- return _handler;
- }
- function _normalizeArray(input) {
-- return input ? Array.isArray(input) ? input : [input] : void 0;
-+ return input ? (Array.isArray(input) ? input : [input]) : void 0;
- }
- async function _callHandler(event, handler, hooks) {
- if (hooks.onRequest) {
-@@ -1268,7 +1225,7 @@ var createOpenApiNuxtHandler = (opts) => {
- if (pathname === null) {
- const error = new TRPCError9({
- message: 'Query "trpc" not found - is the `trpc-swagger` file named `[...trpc].ts`?',
-- code: "INTERNAL_SERVER_ERROR"
-+ code: "INTERNAL_SERVER_ERROR",
- });
- opts.onError?.({
- error,
-@@ -1276,13 +1233,13 @@ var createOpenApiNuxtHandler = (opts) => {
- path: void 0,
- input: void 0,
- ctx: void 0,
-- req: event.node.req
-+ req: event.node.req,
- });
- event.node.res.statusCode = 500;
- event.node.res.setHeader("Content-Type", "application/json");
- const body = {
- message: error.message,
-- code: error.code
-+ code: error.code,
- };
- event.node.res.end(JSON.stringify(body));
- return;
-@@ -1309,6 +1266,6 @@ export {
- createOpenApiNuxtHandler,
- fastifyTRPCOpenApiPlugin,
- generateOpenApiDocument,
-- openApiVersion
-+ openApiVersion,
- };
- //# sourceMappingURL=index.mjs.map
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index f2916ee0d..4c1194bb1 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -4,11 +4,6 @@ settings:
autoInstallPeers: true
excludeLinksFromLockfile: false
-patchedDependencies:
- trpc-swagger@1.2.6:
- hash: 6s72z7zx33c52iesv5sewipn6i
- path: patches/trpc-swagger@1.2.6.patch
-
importers:
.:
@@ -17,17 +12,17 @@ importers:
specifier: workspace:^0.1.0
version: link:tooling/prettier
'@turbo/gen':
- specifier: ^2.3.1
- version: 2.3.1(@types/node@22.9.1)(typescript@5.6.3)
+ specifier: ^2.3.3
+ version: 2.3.3(@types/node@22.10.1)(typescript@5.7.2)
'@vitejs/plugin-react':
- specifier: ^4.3.3
- version: 4.3.3(vite@5.4.5(@types/node@22.9.1)(sass@1.81.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0))
+ specifier: ^4.3.4
+ version: 4.3.4(vite@5.4.5(@types/node@22.10.1)(sass@1.81.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0))
'@vitest/coverage-v8':
- specifier: ^2.1.5
- version: 2.1.5(vitest@2.1.5)
+ specifier: ^2.1.6
+ version: 2.1.6(vitest@2.1.6)
'@vitest/ui':
- specifier: ^2.1.5
- version: 2.1.5(vitest@2.1.5)
+ specifier: ^2.1.6
+ version: 2.1.6(vitest@2.1.6)
cross-env:
specifier: ^7.0.3
version: 7.0.3
@@ -35,23 +30,23 @@ importers:
specifier: ^25.0.1
version: 25.0.1
prettier:
- specifier: ^3.3.3
- version: 3.3.3
+ specifier: ^3.4.1
+ version: 3.4.1
testcontainers:
specifier: ^10.15.0
version: 10.15.0
turbo:
- specifier: ^2.3.1
- version: 2.3.1
+ specifier: ^2.3.3
+ version: 2.3.3
typescript:
- specifier: ^5.6.3
- version: 5.6.3
+ specifier: ^5.7.2
+ version: 5.7.2
vite-tsconfig-paths:
specifier: ^5.1.3
- version: 5.1.3(typescript@5.6.3)(vite@5.4.5(@types/node@22.9.1)(sass@1.81.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0))
+ version: 5.1.3(typescript@5.7.2)(vite@5.4.5(@types/node@22.10.1)(sass@1.81.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0))
vitest:
- specifier: ^2.1.5
- version: 2.1.5(@types/node@22.9.1)(@vitest/ui@2.1.5)(jsdom@25.0.1)(sass@1.81.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0)
+ specifier: ^2.1.6
+ version: 2.1.6(@types/node@22.10.1)(@vitest/ui@2.1.6)(jsdom@25.0.1)(sass@1.81.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0)
apps/nextjs:
dependencies:
@@ -122,50 +117,50 @@ importers:
specifier: workspace:^0.1.0
version: link:../../packages/widgets
'@mantine/colors-generator':
- specifier: ^7.14.1
- version: 7.14.1(chroma-js@3.1.2)
+ specifier: ^7.14.3
+ version: 7.14.3(chroma-js@3.1.2)
'@mantine/core':
- specifier: ^7.14.1
- version: 7.14.1(@mantine/hooks@7.14.1(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ specifier: ^7.14.3
+ version: 7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@mantine/hooks':
- specifier: ^7.14.1
- version: 7.14.1(react@18.3.1)
+ specifier: ^7.14.3
+ version: 7.14.3(react@18.3.1)
'@mantine/modals':
- specifier: ^7.14.1
- version: 7.14.1(@mantine/core@7.14.1(@mantine/hooks@7.14.1(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.1(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ specifier: ^7.14.3
+ version: 7.14.3(@mantine/core@7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.3(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@mantine/tiptap':
- specifier: ^7.14.1
- version: 7.14.1(@mantine/core@7.14.1(@mantine/hooks@7.14.1(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.1(react@18.3.1))(@tiptap/extension-link@2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))(@tiptap/pm@2.10.2))(@tiptap/react@2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))(@tiptap/pm@2.10.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ specifier: ^7.14.3
+ version: 7.14.3(@mantine/core@7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.3(react@18.3.1))(@tiptap/extension-link@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3))(@tiptap/react@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@million/lint':
- specifier: 1.0.12
- version: 1.0.12(rollup@4.21.3)(webpack-sources@3.2.3)
+ specifier: 1.0.13
+ version: 1.0.13(rollup@4.21.3)(webpack-sources@3.2.3)
'@t3-oss/env-nextjs':
specifier: ^0.11.1
- version: 0.11.1(typescript@5.6.3)(zod@3.23.8)
+ version: 0.11.1(typescript@5.7.2)(zod@3.23.8)
'@tabler/icons-react':
- specifier: ^3.22.0
- version: 3.22.0(react@18.3.1)
+ specifier: ^3.23.0
+ version: 3.23.0(react@18.3.1)
'@tanstack/react-query':
- specifier: ^5.61.0
- version: 5.61.0(react@18.3.1)
+ specifier: ^5.62.0
+ version: 5.62.0(react@18.3.1)
'@tanstack/react-query-devtools':
- specifier: ^5.61.0
- version: 5.61.0(@tanstack/react-query@5.61.0(react@18.3.1))(react@18.3.1)
+ specifier: ^5.62.0
+ version: 5.62.0(@tanstack/react-query@5.62.0(react@18.3.1))(react@18.3.1)
'@tanstack/react-query-next-experimental':
- specifier: 5.61.0
- version: 5.61.0(@tanstack/react-query@5.61.0(react@18.3.1))(next@14.2.18(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0))(react@18.3.1)
+ specifier: 5.62.0
+ version: 5.62.0(@tanstack/react-query@5.62.0(react@18.3.1))(next@14.2.18(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0))(react@18.3.1)
'@trpc/client':
specifier: next
- version: 11.0.0-rc.638(@trpc/server@11.0.0-rc.638(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0))
+ version: 11.0.0-rc.648(@trpc/server@11.0.0-rc.648(typescript@5.7.2))(typescript@5.7.2)
'@trpc/next':
specifier: next
- version: 11.0.0-rc.638(@tanstack/react-query@5.61.0(react@18.3.1))(@trpc/client@11.0.0-rc.638(@trpc/server@11.0.0-rc.638(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0)))(@trpc/react-query@11.0.0-rc.638(@tanstack/react-query@5.61.0(react@18.3.1))(@trpc/client@11.0.0-rc.638(@trpc/server@11.0.0-rc.638(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0)))(@trpc/server@11.0.0-rc.638(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@trpc/server@11.0.0-rc.638(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0))(next@14.2.18(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ version: 11.0.0-rc.648(@tanstack/react-query@5.62.0(react@18.3.1))(@trpc/client@11.0.0-rc.648(@trpc/server@11.0.0-rc.648(typescript@5.7.2))(typescript@5.7.2))(@trpc/react-query@11.0.0-rc.648(@tanstack/react-query@5.62.0(react@18.3.1))(@trpc/client@11.0.0-rc.648(@trpc/server@11.0.0-rc.648(typescript@5.7.2))(typescript@5.7.2))(@trpc/server@11.0.0-rc.648(typescript@5.7.2))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2))(@trpc/server@11.0.0-rc.648(typescript@5.7.2))(next@14.2.18(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2)
'@trpc/react-query':
specifier: next
- version: 11.0.0-rc.638(@tanstack/react-query@5.61.0(react@18.3.1))(@trpc/client@11.0.0-rc.638(@trpc/server@11.0.0-rc.638(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0)))(@trpc/server@11.0.0-rc.638(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ version: 11.0.0-rc.648(@tanstack/react-query@5.62.0(react@18.3.1))(@trpc/client@11.0.0-rc.648(@trpc/server@11.0.0-rc.648(typescript@5.7.2))(typescript@5.7.2))(@trpc/server@11.0.0-rc.648(typescript@5.7.2))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2)
'@trpc/server':
specifier: next
- version: 11.0.0-rc.638(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0)
+ version: 11.0.0-rc.648(typescript@5.7.2)
'@xterm/addon-canvas':
specifier: ^0.7.0
version: 0.7.0(@xterm/xterm@5.5.0)
@@ -198,7 +193,7 @@ importers:
version: 2.10.3(@types/react@18.3.12)(react@18.3.1)
mantine-react-table:
specifier: 2.0.0-beta.7
- version: 2.0.0-beta.7(@mantine/core@7.14.1(@mantine/hooks@7.14.1(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/dates@7.14.1(@mantine/core@7.14.1(@mantine/hooks@7.14.1(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.1(react@18.3.1))(dayjs@1.11.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.1(react@18.3.1))(@tabler/icons-react@3.22.0(react@18.3.1))(clsx@2.1.1)(dayjs@1.11.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ version: 2.0.0-beta.7(@mantine/core@7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/dates@7.14.3(@mantine/core@7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.3(react@18.3.1))(dayjs@1.11.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.3(react@18.3.1))(@tabler/icons-react@3.23.0(react@18.3.1))(clsx@2.1.1)(dayjs@1.11.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
next:
specifier: ^14.2.18
version: 14.2.18(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0)
@@ -246,8 +241,8 @@ importers:
specifier: 2.4.4
version: 2.4.4
'@types/node':
- specifier: ^22.9.1
- version: 22.9.1
+ specifier: ^22.10.1
+ version: 22.10.1
'@types/prismjs':
specifier: ^1.26.5
version: 1.26.5
@@ -270,11 +265,11 @@ importers:
specifier: ^2.1.0
version: 2.1.0(webpack@5.94.0)
prettier:
- specifier: ^3.3.3
- version: 3.3.3
+ specifier: ^3.4.1
+ version: 3.4.1
typescript:
- specifier: ^5.6.3
- version: 5.6.3
+ specifier: ^5.7.2
+ version: 5.7.2
apps/tasks:
dependencies:
@@ -333,8 +328,8 @@ importers:
specifier: 2.2.1
version: 2.2.1
undici:
- specifier: 6.21.0
- version: 6.21.0
+ specifier: 7.0.0
+ version: 7.0.0
devDependencies:
'@homarr/eslint-config':
specifier: workspace:^0.2.0
@@ -346,8 +341,8 @@ importers:
specifier: workspace:^0.1.0
version: link:../../tooling/typescript
'@types/node':
- specifier: ^22.9.1
- version: 22.9.1
+ specifier: ^22.10.1
+ version: 22.10.1
dotenv-cli:
specifier: ^7.4.4
version: 7.4.4
@@ -355,14 +350,14 @@ importers:
specifier: ^9.15.0
version: 9.15.0
prettier:
- specifier: ^3.3.3
- version: 3.3.3
+ specifier: ^3.4.1
+ version: 3.4.1
tsx:
specifier: 4.19.2
version: 4.19.2
typescript:
- specifier: ^5.6.3
- version: 5.6.3
+ specifier: ^5.7.2
+ version: 5.7.2
apps/websocket:
dependencies:
@@ -416,11 +411,11 @@ importers:
specifier: ^9.15.0
version: 9.15.0
prettier:
- specifier: ^3.3.3
- version: 3.3.3
+ specifier: ^3.4.1
+ version: 3.4.1
typescript:
- specifier: ^5.6.3
- version: 5.6.3
+ specifier: ^5.7.2
+ version: 5.7.2
packages/analytics:
dependencies:
@@ -453,8 +448,8 @@ importers:
specifier: ^9.15.0
version: 9.15.0
typescript:
- specifier: ^5.6.3
- version: 5.6.3
+ specifier: ^5.7.2
+ version: 5.7.2
packages/api:
dependencies:
@@ -497,6 +492,9 @@ importers:
'@homarr/redis':
specifier: workspace:^0.1.0
version: link:../redis
+ '@homarr/request-handler':
+ specifier: workspace:^0.1.0
+ version: link:../request-handler
'@homarr/server-settings':
specifier: workspace:^0.1.0
version: link:../server-settings
@@ -505,28 +503,28 @@ importers:
version: link:../validation
'@trpc/client':
specifier: next
- version: 11.0.0-rc.638(@trpc/server@11.0.0-rc.638(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0))
+ version: 11.0.0-rc.648(@trpc/server@11.0.0-rc.648(typescript@5.7.2))(typescript@5.7.2)
'@trpc/react-query':
specifier: next
- version: 11.0.0-rc.638(@tanstack/react-query@5.61.0(react@18.3.1))(@trpc/client@11.0.0-rc.638(@trpc/server@11.0.0-rc.638(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0)))(@trpc/server@11.0.0-rc.638(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ version: 11.0.0-rc.648(@tanstack/react-query@5.62.0(react@18.3.1))(@trpc/client@11.0.0-rc.648(@trpc/server@11.0.0-rc.648(typescript@5.7.2))(typescript@5.7.2))(@trpc/server@11.0.0-rc.648(typescript@5.7.2))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2)
'@trpc/server':
specifier: next
- version: 11.0.0-rc.638(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0)
+ version: 11.0.0-rc.648(typescript@5.7.2)
dockerode:
specifier: ^4.0.2
version: 4.0.2
next:
specifier: ^14.2.18
- version: 14.2.18(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0)
+ version: 14.2.18(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0)
react:
specifier: ^18.3.1
version: 18.3.1
superjson:
specifier: 2.2.1
version: 2.2.1
- trpc-swagger:
- specifier: ^1.2.6
- version: 1.2.6(patch_hash=6s72z7zx33c52iesv5sewipn6i)(@trpc/client@11.0.0-rc.638(@trpc/server@11.0.0-rc.638(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0)))(@trpc/server@11.0.0-rc.638(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0))(zod@3.23.8)
+ trpc-to-openapi:
+ specifier: ^2.0.2
+ version: 2.0.2(@trpc/server@11.0.0-rc.648(typescript@5.7.2))(@types/express@4.17.21)(@types/node@22.10.1)(zod@3.23.8)
devDependencies:
'@homarr/eslint-config':
specifier: workspace:^0.2.0
@@ -544,11 +542,11 @@ importers:
specifier: ^9.15.0
version: 9.15.0
prettier:
- specifier: ^3.3.3
- version: 3.3.3
+ specifier: ^3.4.1
+ version: 3.4.1
typescript:
- specifier: ^5.6.3
- version: 5.6.3
+ specifier: ^5.7.2
+ version: 5.7.2
packages/auth:
dependencies:
@@ -575,7 +573,7 @@ importers:
version: link:../validation
'@t3-oss/env-nextjs':
specifier: ^0.11.1
- version: 0.11.1(typescript@5.6.3)(zod@3.23.8)
+ version: 0.11.1(typescript@5.7.2)(zod@3.23.8)
bcrypt:
specifier: ^5.1.1
version: 5.1.1
@@ -587,10 +585,10 @@ importers:
version: 7.2.1
next:
specifier: ^14.2.18
- version: 14.2.18(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0)
+ version: 14.2.18(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0)
next-auth:
specifier: 5.0.0-beta.25
- version: 5.0.0-beta.25(next@14.2.18(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0))(react@18.3.1)
+ version: 5.0.0-beta.25(next@14.2.18(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0))(react@18.3.1)
react:
specifier: ^18.3.1
version: 18.3.1
@@ -617,11 +615,11 @@ importers:
specifier: ^9.15.0
version: 9.15.0
prettier:
- specifier: ^3.3.3
- version: 3.3.3
+ specifier: ^3.4.1
+ version: 3.4.1
typescript:
- specifier: ^5.6.3
- version: 5.6.3
+ specifier: ^5.7.2
+ version: 5.7.2
packages/cli:
dependencies:
@@ -654,8 +652,8 @@ importers:
specifier: ^9.15.0
version: 9.15.0
typescript:
- specifier: ^5.6.3
- version: 5.6.3
+ specifier: ^5.7.2
+ version: 5.7.2
packages/common:
dependencies:
@@ -667,13 +665,13 @@ importers:
version: 1.11.13
next:
specifier: ^14.2.18
- version: 14.2.18(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0)
+ version: 14.2.18(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0)
react:
specifier: ^18.3.1
version: 18.3.1
tldts:
- specifier: ^6.1.63
- version: 6.1.63
+ specifier: ^6.1.64
+ version: 6.1.64
devDependencies:
'@homarr/eslint-config':
specifier: workspace:^0.2.0
@@ -688,8 +686,8 @@ importers:
specifier: ^9.15.0
version: 9.15.0
typescript:
- specifier: ^5.6.3
- version: 5.6.3
+ specifier: ^5.7.2
+ version: 5.7.2
packages/cron-job-runner:
dependencies:
@@ -716,8 +714,8 @@ importers:
specifier: ^9.15.0
version: 9.15.0
typescript:
- specifier: ^5.6.3
- version: 5.6.3
+ specifier: ^5.7.2
+ version: 5.7.2
packages/cron-job-status:
dependencies:
@@ -738,8 +736,8 @@ importers:
specifier: ^9.15.0
version: 9.15.0
typescript:
- specifier: ^5.6.3
- version: 5.6.3
+ specifier: ^5.7.2
+ version: 5.7.2
packages/cron-jobs:
dependencies:
@@ -782,6 +780,9 @@ importers:
'@homarr/redis':
specifier: workspace:^0.1.0
version: link:../redis
+ '@homarr/request-handler':
+ specifier: workspace:^0.1.0
+ version: link:../request-handler
'@homarr/server-settings':
specifier: workspace:^0.1.0
version: link:../server-settings
@@ -805,8 +806,8 @@ importers:
specifier: ^9.15.0
version: 9.15.0
typescript:
- specifier: ^5.6.3
- version: 5.6.3
+ specifier: ^5.7.2
+ version: 5.7.2
packages/cron-jobs-core:
dependencies:
@@ -833,8 +834,8 @@ importers:
specifier: ^9.15.0
version: 9.15.0
typescript:
- specifier: ^5.6.3
- version: 5.6.3
+ specifier: ^5.7.2
+ version: 5.7.2
packages/db:
dependencies:
@@ -860,8 +861,8 @@ importers:
specifier: ^10.15.0
version: 10.15.0
better-sqlite3:
- specifier: ^11.5.0
- version: 11.5.0
+ specifier: ^11.6.0
+ version: 11.6.0
dotenv:
specifier: ^16.4.5
version: 16.4.5
@@ -870,10 +871,13 @@ importers:
version: 0.28.1
drizzle-orm:
specifier: ^0.36.4
- version: 0.36.4(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.12)(@types/react@18.3.12)(better-sqlite3@11.5.0)(mysql2@3.11.4)(react@18.3.1)
+ version: 0.36.4(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.12)(@types/react@18.3.12)(better-sqlite3@11.6.0)(mysql2@3.11.5)(react@18.3.1)
+ drizzle-zod:
+ specifier: ^0.5.1
+ version: 0.5.1(drizzle-orm@0.36.4(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.12)(@types/react@18.3.12)(better-sqlite3@11.6.0)(mysql2@3.11.5)(react@18.3.1))(zod@3.23.8)
mysql2:
- specifier: 3.11.4
- version: 3.11.4
+ specifier: 3.11.5
+ version: 3.11.5
devDependencies:
'@homarr/eslint-config':
specifier: workspace:^0.2.0
@@ -894,14 +898,14 @@ importers:
specifier: ^9.15.0
version: 9.15.0
prettier:
- specifier: ^3.3.3
- version: 3.3.3
+ specifier: ^3.4.1
+ version: 3.4.1
tsx:
specifier: 4.19.2
version: 4.19.2
typescript:
- specifier: ^5.6.3
- version: 5.6.3
+ specifier: ^5.7.2
+ version: 5.7.2
packages/definitions:
dependencies:
@@ -922,8 +926,8 @@ importers:
specifier: ^9.15.0
version: 9.15.0
typescript:
- specifier: ^5.6.3
- version: 5.6.3
+ specifier: ^5.7.2
+ version: 5.7.2
packages/form:
dependencies:
@@ -934,8 +938,8 @@ importers:
specifier: workspace:^0.1.0
version: link:../validation
'@mantine/form':
- specifier: ^7.14.1
- version: 7.14.1(react@18.3.1)
+ specifier: ^7.14.3
+ version: 7.14.3(react@18.3.1)
devDependencies:
'@homarr/eslint-config':
specifier: workspace:^0.2.0
@@ -950,8 +954,8 @@ importers:
specifier: ^9.15.0
version: 9.15.0
typescript:
- specifier: ^5.6.3
- version: 5.6.3
+ specifier: ^5.7.2
+ version: 5.7.2
packages/icons:
dependencies:
@@ -978,8 +982,8 @@ importers:
specifier: ^9.15.0
version: 9.15.0
typescript:
- specifier: ^5.6.3
- version: 5.6.3
+ specifier: ^5.7.2
+ version: 5.7.2
packages/integrations:
dependencies:
@@ -1033,8 +1037,8 @@ importers:
specifier: ^9.15.0
version: 9.15.0
typescript:
- specifier: ^5.6.3
- version: 5.6.3
+ specifier: ^5.7.2
+ version: 5.7.2
packages/log:
dependencies:
@@ -1061,8 +1065,8 @@ importers:
specifier: ^9.15.0
version: 9.15.0
typescript:
- specifier: ^5.6.3
- version: 5.6.3
+ specifier: ^5.7.2
+ version: 5.7.2
packages/modals:
dependencies:
@@ -1073,11 +1077,11 @@ importers:
specifier: workspace:^0.1.0
version: link:../ui
'@mantine/core':
- specifier: ^7.14.1
- version: 7.14.1(@mantine/hooks@7.14.1(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ specifier: ^7.14.3
+ version: 7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@mantine/hooks':
- specifier: ^7.14.1
- version: 7.14.1(react@18.3.1)
+ specifier: ^7.14.3
+ version: 7.14.3(react@18.3.1)
react:
specifier: ^18.3.1
version: 18.3.1
@@ -1095,8 +1099,8 @@ importers:
specifier: ^9.15.0
version: 9.15.0
typescript:
- specifier: ^5.6.3
- version: 5.6.3
+ specifier: ^5.7.2
+ version: 5.7.2
packages/modals-collection:
dependencies:
@@ -1128,17 +1132,17 @@ importers:
specifier: workspace:^0.1.0
version: link:../validation
'@mantine/core':
- specifier: ^7.14.1
- version: 7.14.1(@mantine/hooks@7.14.1(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ specifier: ^7.14.3
+ version: 7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@tabler/icons-react':
- specifier: ^3.22.0
- version: 3.22.0(react@18.3.1)
+ specifier: ^3.23.0
+ version: 3.23.0(react@18.3.1)
dayjs:
specifier: ^1.11.13
version: 1.11.13
next:
specifier: ^14.2.18
- version: 14.2.18(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0)
+ version: 14.2.18(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0)
react:
specifier: ^18.3.1
version: 18.3.1
@@ -1156,8 +1160,8 @@ importers:
specifier: ^9.15.0
version: 9.15.0
typescript:
- specifier: ^5.6.3
- version: 5.6.3
+ specifier: ^5.7.2
+ version: 5.7.2
packages/notifications:
dependencies:
@@ -1165,11 +1169,11 @@ importers:
specifier: workspace:^0.1.0
version: link:../ui
'@mantine/notifications':
- specifier: ^7.14.1
- version: 7.14.1(@mantine/core@7.14.1(@mantine/hooks@7.14.1(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.1(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ specifier: ^7.14.3
+ version: 7.14.3(@mantine/core@7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.3(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@tabler/icons-react':
- specifier: ^3.22.0
- version: 3.22.0(react@18.3.1)
+ specifier: ^3.23.0
+ version: 3.23.0(react@18.3.1)
devDependencies:
'@homarr/eslint-config':
specifier: workspace:^0.2.0
@@ -1184,8 +1188,8 @@ importers:
specifier: ^9.15.0
version: 9.15.0
typescript:
- specifier: ^5.6.3
- version: 5.6.3
+ specifier: ^5.7.2
+ version: 5.7.2
packages/old-import:
dependencies:
@@ -1224,8 +1228,8 @@ importers:
specifier: ^9.15.0
version: 9.15.0
typescript:
- specifier: ^5.6.3
- version: 5.6.3
+ specifier: ^5.7.2
+ version: 5.7.2
packages/old-schema:
dependencies:
@@ -1246,8 +1250,8 @@ importers:
specifier: ^9.15.0
version: 9.15.0
typescript:
- specifier: ^5.6.3
- version: 5.6.3
+ specifier: ^5.7.2
+ version: 5.7.2
packages/ping:
dependencies:
@@ -1271,8 +1275,8 @@ importers:
specifier: ^9.15.0
version: 9.15.0
typescript:
- specifier: ^5.6.3
- version: 5.6.3
+ specifier: ^5.7.2
+ version: 5.7.2
packages/redis:
dependencies:
@@ -1308,8 +1312,51 @@ importers:
specifier: ^9.15.0
version: 9.15.0
typescript:
- specifier: ^5.6.3
- version: 5.6.3
+ specifier: ^5.7.2
+ version: 5.7.2
+
+ packages/request-handler:
+ dependencies:
+ '@homarr/common':
+ specifier: workspace:^0.1.0
+ version: link:../common
+ '@homarr/db':
+ specifier: workspace:^0.1.0
+ version: link:../db
+ '@homarr/definitions':
+ specifier: workspace:^0.1.0
+ version: link:../definitions
+ '@homarr/integrations':
+ specifier: workspace:^0.1.0
+ version: link:../integrations
+ '@homarr/log':
+ specifier: workspace:^0.1.0
+ version: link:../log
+ '@homarr/redis':
+ specifier: workspace:^0.1.0
+ version: link:../redis
+ dayjs:
+ specifier: ^1.11.13
+ version: 1.11.13
+ superjson:
+ specifier: 2.2.1
+ version: 2.2.1
+ devDependencies:
+ '@homarr/eslint-config':
+ specifier: workspace:^0.2.0
+ version: link:../../tooling/eslint
+ '@homarr/prettier-config':
+ specifier: workspace:^0.1.0
+ version: link:../../tooling/prettier
+ '@homarr/tsconfig':
+ specifier: workspace:^0.1.0
+ version: link:../../tooling/typescript
+ eslint:
+ specifier: ^9.15.0
+ version: 9.15.0
+ typescript:
+ specifier: ^5.7.2
+ version: 5.7.2
packages/server-settings:
dependencies:
@@ -1333,8 +1380,8 @@ importers:
specifier: ^9.15.0
version: 9.15.0
typescript:
- specifier: ^5.6.3
- version: 5.6.3
+ specifier: ^5.7.2
+ version: 5.7.2
packages/spotlight:
dependencies:
@@ -1366,23 +1413,23 @@ importers:
specifier: workspace:^0.1.0
version: link:../ui
'@mantine/core':
- specifier: ^7.14.1
- version: 7.14.1(@mantine/hooks@7.14.1(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ specifier: ^7.14.3
+ version: 7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@mantine/hooks':
- specifier: ^7.14.1
- version: 7.14.1(react@18.3.1)
+ specifier: ^7.14.3
+ version: 7.14.3(react@18.3.1)
'@mantine/spotlight':
- specifier: ^7.14.1
- version: 7.14.1(@mantine/core@7.14.1(@mantine/hooks@7.14.1(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.1(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ specifier: ^7.14.3
+ version: 7.14.3(@mantine/core@7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.3(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@tabler/icons-react':
- specifier: ^3.22.0
- version: 3.22.0(react@18.3.1)
+ specifier: ^3.23.0
+ version: 3.23.0(react@18.3.1)
jotai:
specifier: ^2.10.3
version: 2.10.3(@types/react@18.3.12)(react@18.3.1)
next:
specifier: ^14.2.18
- version: 14.2.18(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0)
+ version: 14.2.18(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0)
react:
specifier: ^18.3.1
version: 18.3.1
@@ -1403,8 +1450,8 @@ importers:
specifier: ^9.15.0
version: 9.15.0
typescript:
- specifier: ^5.6.3
- version: 5.6.3
+ specifier: ^5.7.2
+ version: 5.7.2
packages/translation:
dependencies:
@@ -1422,13 +1469,13 @@ importers:
version: 4.3.1
mantine-react-table:
specifier: 2.0.0-beta.7
- version: 2.0.0-beta.7(@mantine/core@7.14.1(@mantine/hooks@7.14.1(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/dates@7.14.1(@mantine/core@7.14.1(@mantine/hooks@7.14.1(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.1(react@18.3.1))(dayjs@1.11.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.1(react@18.3.1))(@tabler/icons-react@3.22.0(react@18.3.1))(clsx@2.1.1)(dayjs@1.11.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ version: 2.0.0-beta.7(@mantine/core@7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/dates@7.14.3(@mantine/core@7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.3(react@18.3.1))(dayjs@1.11.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.3(react@18.3.1))(@tabler/icons-react@3.23.0(react@18.3.1))(clsx@2.1.1)(dayjs@1.11.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
next:
specifier: ^14.2.18
- version: 14.2.18(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0)
+ version: 14.2.18(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0)
next-intl:
- specifier: 3.25.1
- version: 3.25.1(next@14.2.18(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0))(react@18.3.1)
+ specifier: 3.25.3
+ version: 3.25.3(next@14.2.18(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0))(react@18.3.1)
react:
specifier: ^18.3.1
version: 18.3.1
@@ -1446,8 +1493,8 @@ importers:
specifier: ^9.15.0
version: 9.15.0
typescript:
- specifier: ^5.6.3
- version: 5.6.3
+ specifier: ^5.7.2
+ version: 5.7.2
packages/ui:
dependencies:
@@ -1467,23 +1514,23 @@ importers:
specifier: workspace:^0.1.0
version: link:../validation
'@mantine/core':
- specifier: ^7.14.1
- version: 7.14.1(@mantine/hooks@7.14.1(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ specifier: ^7.14.3
+ version: 7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@mantine/dates':
- specifier: ^7.14.1
- version: 7.14.1(@mantine/core@7.14.1(@mantine/hooks@7.14.1(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.1(react@18.3.1))(dayjs@1.11.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ specifier: ^7.14.3
+ version: 7.14.3(@mantine/core@7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.3(react@18.3.1))(dayjs@1.11.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@mantine/hooks':
- specifier: ^7.14.1
- version: 7.14.1(react@18.3.1)
+ specifier: ^7.14.3
+ version: 7.14.3(react@18.3.1)
'@tabler/icons-react':
- specifier: ^3.22.0
- version: 3.22.0(react@18.3.1)
+ specifier: ^3.23.0
+ version: 3.23.0(react@18.3.1)
mantine-react-table:
specifier: 2.0.0-beta.7
- version: 2.0.0-beta.7(@mantine/core@7.14.1(@mantine/hooks@7.14.1(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/dates@7.14.1(@mantine/core@7.14.1(@mantine/hooks@7.14.1(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.1(react@18.3.1))(dayjs@1.11.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.1(react@18.3.1))(@tabler/icons-react@3.22.0(react@18.3.1))(clsx@2.1.1)(dayjs@1.11.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ version: 2.0.0-beta.7(@mantine/core@7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/dates@7.14.3(@mantine/core@7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.3(react@18.3.1))(dayjs@1.11.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.3(react@18.3.1))(@tabler/icons-react@3.23.0(react@18.3.1))(clsx@2.1.1)(dayjs@1.11.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
next:
specifier: ^14.2.18
- version: 14.2.18(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0)
+ version: 14.2.18(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0)
react:
specifier: ^18.3.1
version: 18.3.1
@@ -1504,8 +1551,8 @@ importers:
specifier: ^9.15.0
version: 9.15.0
typescript:
- specifier: ^5.6.3
- version: 5.6.3
+ specifier: ^5.7.2
+ version: 5.7.2
packages/validation:
dependencies:
@@ -1538,17 +1585,17 @@ importers:
specifier: ^9.15.0
version: 9.15.0
typescript:
- specifier: ^5.6.3
- version: 5.6.3
+ specifier: ^5.7.2
+ version: 5.7.2
packages/widgets:
dependencies:
'@dnd-kit/core':
- specifier: ^6.1.0
- version: 6.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ specifier: ^6.2.0
+ version: 6.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@dnd-kit/sortable':
- specifier: ^8.0.0
- version: 8.0.0(@dnd-kit/core@6.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)
+ specifier: ^9.0.0
+ version: 9.0.0(@dnd-kit/core@6.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)
'@extractus/feed-extractor':
specifier: ^7.1.3
version: 7.1.3
@@ -1595,59 +1642,59 @@ importers:
specifier: workspace:^0.1.0
version: link:../validation
'@mantine/core':
- specifier: ^7.14.1
- version: 7.14.1(@mantine/hooks@7.14.1(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ specifier: ^7.14.3
+ version: 7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@mantine/hooks':
- specifier: ^7.14.1
- version: 7.14.1(react@18.3.1)
+ specifier: ^7.14.3
+ version: 7.14.3(react@18.3.1)
'@tabler/icons-react':
- specifier: ^3.22.0
- version: 3.22.0(react@18.3.1)
+ specifier: ^3.23.0
+ version: 3.23.0(react@18.3.1)
'@tiptap/extension-color':
- specifier: 2.10.2
- version: 2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))(@tiptap/extension-text-style@2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2)))
+ specifier: 2.10.3
+ version: 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/extension-text-style@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3)))
'@tiptap/extension-highlight':
- specifier: 2.10.2
- version: 2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))
+ specifier: 2.10.3
+ version: 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))
'@tiptap/extension-image':
- specifier: 2.10.2
- version: 2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))
+ specifier: 2.10.3
+ version: 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))
'@tiptap/extension-link':
- specifier: ^2.10.2
- version: 2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))(@tiptap/pm@2.10.2)
+ specifier: ^2.10.3
+ version: 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3)
'@tiptap/extension-table':
- specifier: 2.10.2
- version: 2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))(@tiptap/pm@2.10.2)
+ specifier: 2.10.3
+ version: 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3)
'@tiptap/extension-table-cell':
- specifier: 2.10.2
- version: 2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))
+ specifier: 2.10.3
+ version: 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))
'@tiptap/extension-table-header':
- specifier: 2.10.2
- version: 2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))
+ specifier: 2.10.3
+ version: 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))
'@tiptap/extension-table-row':
- specifier: 2.10.2
- version: 2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))
+ specifier: 2.10.3
+ version: 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))
'@tiptap/extension-task-item':
- specifier: 2.10.2
- version: 2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))(@tiptap/pm@2.10.2)
+ specifier: 2.10.3
+ version: 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3)
'@tiptap/extension-task-list':
- specifier: 2.10.2
- version: 2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))
+ specifier: 2.10.3
+ version: 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))
'@tiptap/extension-text-align':
- specifier: 2.10.2
- version: 2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))
+ specifier: 2.10.3
+ version: 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))
'@tiptap/extension-text-style':
- specifier: 2.10.2
- version: 2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))
+ specifier: 2.10.3
+ version: 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))
'@tiptap/extension-underline':
- specifier: 2.10.2
- version: 2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))
+ specifier: 2.10.3
+ version: 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))
'@tiptap/react':
- specifier: ^2.10.2
- version: 2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))(@tiptap/pm@2.10.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ specifier: ^2.10.3
+ version: 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@tiptap/starter-kit':
- specifier: ^2.10.2
- version: 2.10.2
+ specifier: ^2.10.3
+ version: 2.10.3
clsx:
specifier: ^2.1.1
version: 2.1.1
@@ -1656,16 +1703,16 @@ importers:
version: 1.11.13
mantine-react-table:
specifier: 2.0.0-beta.7
- version: 2.0.0-beta.7(@mantine/core@7.14.1(@mantine/hooks@7.14.1(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/dates@7.14.1(@mantine/core@7.14.1(@mantine/hooks@7.14.1(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.1(react@18.3.1))(dayjs@1.11.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.1(react@18.3.1))(@tabler/icons-react@3.22.0(react@18.3.1))(clsx@2.1.1)(dayjs@1.11.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ version: 2.0.0-beta.7(@mantine/core@7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/dates@7.14.3(@mantine/core@7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.3(react@18.3.1))(dayjs@1.11.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.3(react@18.3.1))(@tabler/icons-react@3.23.0(react@18.3.1))(clsx@2.1.1)(dayjs@1.11.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
next:
specifier: ^14.2.18
- version: 14.2.18(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0)
+ version: 14.2.18(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0)
react:
specifier: ^18.3.1
version: 18.3.1
video.js:
- specifier: ^8.19.1
- version: 8.19.1
+ specifier: ^8.20.0
+ version: 8.20.0
devDependencies:
'@homarr/eslint-config':
specifier: workspace:^0.2.0
@@ -1683,8 +1730,8 @@ importers:
specifier: ^9.15.0
version: 9.15.0
typescript:
- specifier: ^5.6.3
- version: 5.6.3
+ specifier: ^5.7.2
+ version: 5.7.2
tooling/eslint:
dependencies:
@@ -1695,11 +1742,11 @@ importers:
specifier: ^9.1.0
version: 9.1.0(eslint@9.15.0)
eslint-config-turbo:
- specifier: ^2.3.1
- version: 2.3.1(eslint@9.15.0)
+ specifier: ^2.3.3
+ version: 2.3.3(eslint@9.15.0)
eslint-plugin-import:
specifier: ^2.31.0
- version: 2.31.0(@typescript-eslint/parser@8.15.0(eslint@9.15.0)(typescript@5.6.3))(eslint@9.15.0)
+ version: 2.31.0(@typescript-eslint/parser@8.16.0(eslint@9.15.0)(typescript@5.7.2))(eslint@9.15.0)
eslint-plugin-jsx-a11y:
specifier: ^6.10.2
version: 6.10.2(eslint@9.15.0)
@@ -1710,8 +1757,8 @@ importers:
specifier: ^5.0.0
version: 5.0.0(eslint@9.15.0)
typescript-eslint:
- specifier: ^8.15.0
- version: 8.15.0(eslint@9.15.0)(typescript@5.6.3)
+ specifier: ^8.16.0
+ version: 8.16.0(eslint@9.15.0)(typescript@5.7.2)
devDependencies:
'@homarr/prettier-config':
specifier: workspace:^0.1.0
@@ -1723,8 +1770,8 @@ importers:
specifier: ^9.15.0
version: 9.15.0
typescript:
- specifier: ^5.6.3
- version: 5.6.3
+ specifier: ^5.7.2
+ version: 5.7.2
tooling/github: {}
@@ -1732,17 +1779,17 @@ importers:
dependencies:
'@ianvs/prettier-plugin-sort-imports':
specifier: ^4.4.0
- version: 4.4.0(prettier@3.3.3)
+ version: 4.4.0(prettier@3.4.1)
prettier:
- specifier: ^3.3.3
- version: 3.3.3
+ specifier: ^3.4.1
+ version: 3.4.1
devDependencies:
'@homarr/tsconfig':
specifier: workspace:^0.1.0
version: link:../typescript
typescript:
- specifier: ^5.6.3
- version: 5.6.3
+ specifier: ^5.7.2
+ version: 5.7.2
tooling/semver: {}
@@ -1793,72 +1840,38 @@ packages:
resolution: {integrity: sha512-Zm10TczcMLounWqC42nMkXQ7XKLqjzLrd5ia022oBKDUZqAFVg2y9d1quQVNV4FlXyg9MKDdfMjpKQRmzEGaog==}
engines: {node: '>=16'}
- '@babel/code-frame@7.24.7':
- resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==}
- engines: {node: '>=6.9.0'}
-
'@babel/code-frame@7.26.2':
resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==}
engines: {node: '>=6.9.0'}
- '@babel/compat-data@7.25.4':
- resolution: {integrity: sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==}
- 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.25.2':
- resolution: {integrity: sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==}
- engines: {node: '>=6.9.0'}
-
'@babel/core@7.26.0':
resolution: {integrity: sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==}
engines: {node: '>=6.9.0'}
- '@babel/generator@7.25.6':
- resolution: {integrity: sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==}
- engines: {node: '>=6.9.0'}
-
'@babel/generator@7.26.2':
resolution: {integrity: sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==}
engines: {node: '>=6.9.0'}
- '@babel/helper-compilation-targets@7.25.2':
- resolution: {integrity: sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==}
- engines: {node: '>=6.9.0'}
-
'@babel/helper-compilation-targets@7.25.9':
resolution: {integrity: sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==}
engines: {node: '>=6.9.0'}
- '@babel/helper-module-imports@7.24.7':
- resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==}
- engines: {node: '>=6.9.0'}
-
'@babel/helper-module-imports@7.25.9':
resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==}
engines: {node: '>=6.9.0'}
- '@babel/helper-module-transforms@7.25.2':
- resolution: {integrity: sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
-
'@babel/helper-module-transforms@7.26.0':
resolution: {integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
- '@babel/helper-plugin-utils@7.24.8':
- resolution: {integrity: sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==}
- engines: {node: '>=6.9.0'}
-
- '@babel/helper-simple-access@7.24.7':
- resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==}
+ '@babel/helper-plugin-utils@7.25.9':
+ resolution: {integrity: sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==}
engines: {node: '>=6.9.0'}
'@babel/helper-string-parser@7.25.9':
@@ -1869,44 +1882,27 @@ packages:
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/helpers@7.25.6':
- resolution: {integrity: sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q==}
- engines: {node: '>=6.9.0'}
-
'@babel/helpers@7.26.0':
resolution: {integrity: sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==}
engines: {node: '>=6.9.0'}
- '@babel/highlight@7.24.7':
- resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==}
- engines: {node: '>=6.9.0'}
-
- '@babel/parser@7.25.6':
- resolution: {integrity: sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==}
- engines: {node: '>=6.0.0'}
- hasBin: true
-
'@babel/parser@7.26.2':
resolution: {integrity: sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==}
engines: {node: '>=6.0.0'}
hasBin: true
- '@babel/plugin-transform-react-jsx-self@7.24.7':
- resolution: {integrity: sha512-fOPQYbGSgH0HUp4UJO4sMBFjY6DuWq+2i8rixyUMb3CdGixs/gccURvYOAhajBdKDoGajFr3mUq5rH3phtkGzw==}
+ '@babel/plugin-transform-react-jsx-self@7.25.9':
+ resolution: {integrity: sha512-y8quW6p0WHkEhmErnfe58r7x0A70uKphQm8Sp8cV7tjNQwK56sNVK0M73LK3WuYmsuyrftut4xAkjjgU0twaMg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
- '@babel/plugin-transform-react-jsx-source@7.24.7':
- resolution: {integrity: sha512-J2z+MWzZHVOemyLweMqngXrgGC42jQ//R0KdxqkIz/OrbVIIlhFI3WigZ5fO+nwFvBlncr4MGapd8vTyc7RPNQ==}
+ '@babel/plugin-transform-react-jsx-source@7.25.9':
+ resolution: {integrity: sha512-+iqjT8xmXhhYv4/uiYd8FNQsraMFZIfxVSqxxVSZP0WbbSAWvBXAul0m/zu+7Vv4O/3WtApy9pmaTMiumEZgfg==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0-0
@@ -1919,26 +1915,14 @@ packages:
resolution: {integrity: sha512-VBj9MYyDb9tuLq7yzqjgzt6Q+IBQLrGZfdjOekyEirZPHxXWoTSGUTMrpsfi58Up73d13NfYLv8HT9vmznjzhQ==}
engines: {node: '>=6.9.0'}
- '@babel/template@7.25.0':
- resolution: {integrity: sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==}
- engines: {node: '>=6.9.0'}
-
'@babel/template@7.25.9':
resolution: {integrity: sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==}
engines: {node: '>=6.9.0'}
- '@babel/traverse@7.25.6':
- resolution: {integrity: sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==}
- engines: {node: '>=6.9.0'}
-
'@babel/traverse@7.25.9':
resolution: {integrity: sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==}
engines: {node: '>=6.9.0'}
- '@babel/types@7.25.2':
- resolution: {integrity: sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q==}
- engines: {node: '>=6.9.0'}
-
'@babel/types@7.26.0':
resolution: {integrity: sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==}
engines: {node: '>=6.9.0'}
@@ -1952,14 +1936,17 @@ packages:
'@braintree/sanitize-url@7.0.4':
resolution: {integrity: sha512-hPYRrKFoI+nuckPgDJfyYAkybFvheo4usS0Vw0HNAe+fmGBQA5Az37b/yStO284atBoqqdOUhKJ3d9Zw3PQkcQ==}
- '@clack/core@0.3.4':
- resolution: {integrity: sha512-H4hxZDXgHtWTwV3RAVenqcC4VbJZNegbBjlPvzOzCouXtS2y3sDvlO3IsbrPNWuLWPPlYVYPghQdSF64683Ldw==}
+ '@clack/core@0.3.5':
+ resolution: {integrity: sha512-5cfhQNH+1VQ2xLQlmzXMqUoiaH0lRBq9/CLW9lTyMbuKLC3+xEK01tHVvyut++mLOn5urSHmkm6I0Lg9MaJSTQ==}
'@clack/prompts@0.7.0':
resolution: {integrity: sha512-0MhX9/B4iL6Re04jPrttDm+BsP8y6mS7byuv0BvXgdXhbV5PdlsHt55dvNsuBCPZ7xq1oTAOOuotR9NFbQyMSA==}
bundledDependencies:
- is-unicode-supported
+ '@clack/prompts@0.8.2':
+ resolution: {integrity: sha512-6b9Ab2UiZwJYA9iMyboYyW9yJvAO9V753ZhS+DHKEjZRKAxPPOb7MXXu84lsPFG+vZt6FRFniZ8rXi+zCIw4yQ==}
+
'@colors/colors@1.6.0':
resolution: {integrity: sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==}
engines: {node: '>=0.1.90'}
@@ -1995,21 +1982,21 @@ packages:
'@dabh/diagnostics@2.0.3':
resolution: {integrity: sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==}
- '@dnd-kit/accessibility@3.1.0':
- resolution: {integrity: sha512-ea7IkhKvlJUv9iSHJOnxinBcoOI3ppGnnL+VDJ75O45Nss6HtZd8IdN8touXPDtASfeI2T2LImb8VOZcL47wjQ==}
+ '@dnd-kit/accessibility@3.1.1':
+ resolution: {integrity: sha512-2P+YgaXF+gRsIihwwY1gCsQSYnu9Zyj2py8kY5fFvUM1qm2WA2u639R6YNVfU4GWr+ZM5mqEsfHZZLoRONbemw==}
peerDependencies:
react: '>=16.8.0'
- '@dnd-kit/core@6.1.0':
- resolution: {integrity: sha512-J3cQBClB4TVxwGo3KEjssGEXNJqGVWx17aRTZ1ob0FliR5IjYgTxl5YJbKTzA6IzrtelotH19v6y7uoIRUZPSg==}
+ '@dnd-kit/core@6.2.0':
+ resolution: {integrity: sha512-KVK/CJmaYGTxTPU6P0+Oy4itgffTUa80B8317sXzfOr1qUzSL29jE7Th11llXiu2haB7B9Glpzo2CDElin+geQ==}
peerDependencies:
react: '>=16.8.0'
react-dom: '>=16.8.0'
- '@dnd-kit/sortable@8.0.0':
- resolution: {integrity: sha512-U3jk5ebVXe1Lr7c2wU7SBZjcWdQP+j7peHJfCspnA81enlu88Mgd7CC8Q+pub9ubP7eKVETzJW+IBAhsqbSu/g==}
+ '@dnd-kit/sortable@9.0.0':
+ resolution: {integrity: sha512-3/9r8Mmba0nKTbo8kPnVSFZKf/VSy94nXZ3aUwzPEh78j/LooQ/EFKRZENak4PHKBkN53mgTF/z+Sd8H+FcAnQ==}
peerDependencies:
- '@dnd-kit/core': ^6.1.0
+ '@dnd-kit/core': ^6.2.0
react: '>=16.8.0'
'@dnd-kit/utilities@3.2.2':
@@ -2759,22 +2746,10 @@ packages:
resolution: {integrity: sha512-USRVpGw4fWlnz8O8gB95UDJJaU5wg2EFESDe9nut0mHFJ8bOxDKGoo3g6EaKU24YzaPUBweKENdEJfuTUgr/uA==}
engines: {node: '>= 18'}
- '@fastify/ajv-compiler@4.0.1':
- resolution: {integrity: sha512-DxrBdgsjNLP0YM6W5Hd6/Fmj43S8zMKiFJYgi+Ri3htTGAowPVG/tG1wpnWLMjufEnehRivUCKZ1pLDIoZdTuw==}
-
'@fastify/busboy@2.1.1':
resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==}
engines: {node: '>=14'}
- '@fastify/error@4.0.0':
- resolution: {integrity: sha512-OO/SA8As24JtT1usTUTKgGH7uLvhfwZPwlptRi2Dp5P4KKmJI3gvsZ8MIHnNwDs4sLf/aai5LzTyl66xr7qMxA==}
-
- '@fastify/fast-json-stringify-compiler@5.0.1':
- resolution: {integrity: sha512-f2d3JExJgFE3UbdFcpPwqNUEoHWmt8pAKf8f+9YuLESdefA0WgqxeT6DrGL4Yrf/9ihXNSKOqpjEmurV405meA==}
-
- '@fastify/merge-json-schemas@0.1.1':
- resolution: {integrity: sha512-fERDVz7topgNjtXsJTTW1JKLy0rhuLRcquYqNR9rF7OcVpCa2OVW49ZPDIhaRRCaUuvVxI+N416xUoF76HNSXA==}
-
'@floating-ui/core@1.6.8':
resolution: {integrity: sha512-7XJ9cPU+yI2QeLS+FCSlqNFZJq8arvswefkZrYI1yQBbftw6FyrZOxYSh+9S7z7TpeWlRt9zJ5IhM1WIL334jA==}
@@ -2787,8 +2762,8 @@ packages:
react: '>=16.8.0'
react-dom: '>=16.8.0'
- '@floating-ui/react@0.26.27':
- resolution: {integrity: sha512-jLP72x0Kr2CgY6eTYi/ra3VA9LOkTo4C+DUTrbFgFOExKy3omYVmwMjNKqxAHdsnyLS96BIDLcO2SlnsNf8KUQ==}
+ '@floating-ui/react@0.26.28':
+ resolution: {integrity: sha512-yORQuuAtVpiRjpMhdc0wJj06b9JFjrYF4qp96j++v2NBpbi6SEGF7donUJ3TMieerQ6qVkAv1tgr7L4r5roTqw==}
peerDependencies:
react: '>=16.8.0'
react-dom: '>=16.8.0'
@@ -2900,71 +2875,71 @@ packages:
'@libsql/core@0.14.0':
resolution: {integrity: sha512-nhbuXf7GP3PSZgdCY2Ecj8vz187ptHlZQ0VRc751oB2C1W8jQUXKKklvt7t1LJiUTQBVJuadF628eUk+3cRi4Q==}
- '@mantine/colors-generator@7.14.1':
- resolution: {integrity: sha512-WcOyv0HpSmoraZCX2GMJrmNguY4Syaz+hPdSZ6/RaQwOiXdswCZhrYkWjIO+yGKhu0pAD+rsTD0fdLtkFBKT3g==}
+ '@mantine/colors-generator@7.14.3':
+ resolution: {integrity: sha512-4A37xzSpsa0IC1Mz7g0W4iGJOu6ooSnckOmsiGHf4zTKh4gT6MBR5VOfRH8f3XmmojCGKm9tbIQRLXQTq9rmzQ==}
peerDependencies:
chroma-js: '>=2.4.2'
- '@mantine/core@7.14.1':
- resolution: {integrity: sha512-oHqaOE1n4KJkvJgF628OCVXE2zUgkEotEsPUdVaC58qRfJ7SvZAI26JNbUG8+MoqHHEqHKtBaRkTyuEVMbomxw==}
+ '@mantine/core@7.14.3':
+ resolution: {integrity: sha512-niAi+ZYBr4KrG+X2Mx+muvEzUOOHc/Rx0vsbIGYeNe7urwHSm/xNEGsaapmCqeRC0CSL4KI6TJOq8QhnSuQZcw==}
peerDependencies:
- '@mantine/hooks': 7.14.1
+ '@mantine/hooks': 7.14.3
react: ^18.x || ^19.x
react-dom: ^18.x || ^19.x
- '@mantine/dates@7.14.1':
- resolution: {integrity: sha512-NtQWisJi0DmYehShmYvHM6bvUsVE864kW4NJc8rbatFL7/bhCp9U49s6vqpz6B1GxZ2WfiQZtjPE1FLInWX+Pw==}
+ '@mantine/dates@7.14.3':
+ resolution: {integrity: sha512-vE+eCbGkas4h1DP6og9nnatL/cBJUvDu0v5+ZH4YdI8mBpjuxmabvbGrpLoWuKocQOFdyCzrlYFQF8ai0jXABg==}
peerDependencies:
- '@mantine/core': 7.14.1
- '@mantine/hooks': 7.14.1
+ '@mantine/core': 7.14.3
+ '@mantine/hooks': 7.14.3
dayjs: '>=1.0.0'
react: ^18.x || ^19.x
react-dom: ^18.x || ^19.x
- '@mantine/form@7.14.1':
- resolution: {integrity: sha512-ziYsTsFhR1sEjGebwahKr7LRRFQQtH47o+rPLbvD0FGb6aYRVQgaebQo4jVgxFIgqiafxGNEpD6GkPBqmCmU4g==}
+ '@mantine/form@7.14.3':
+ resolution: {integrity: sha512-NquXVQz3IRCT5WTWCEdQjQzThMj7FpX/u0PDD+8XydiMPB7zJGPM9IdV88mWDI2ghT9vS6rBn22XWjTYsKa8+A==}
peerDependencies:
react: ^18.x || ^19.x
- '@mantine/hooks@7.14.1':
- resolution: {integrity: sha512-VlgTyV/9WNFCwCshW1KHMYNzLt+M8aG68E1lWaqOXtyWSLJo+X5zQJGg0f8bwGbJvIMQCpQd0yTLfnjD6uAtrA==}
+ '@mantine/hooks@7.14.3':
+ resolution: {integrity: sha512-cU3R9b8GLs6aCvpsVC56ZOOJCUIoDqX3RcLWkcfpA5a47LjWa/rzegP4YWfNW6/E9vodPJT4AEbYXVffYlyNwA==}
peerDependencies:
react: ^18.x || ^19.x
- '@mantine/modals@7.14.1':
- resolution: {integrity: sha512-jpcRS5fzD+CPRJ7mebA9lt0bmSI+2lJVZloG7SPIY3S66ZtUsEis0fHkDtuAqGANbhr43Enjhno0M+4x9IzuZw==}
+ '@mantine/modals@7.14.3':
+ resolution: {integrity: sha512-wn2eMSROG7bPbeSH2OnTp8iVv1wH9L9tLeBt88mTEXLg3vIPfQtWD9g/kFrjhoCjygYYtyJeqMQFYPUkHQMXDw==}
peerDependencies:
- '@mantine/core': 7.14.1
- '@mantine/hooks': 7.14.1
+ '@mantine/core': 7.14.3
+ '@mantine/hooks': 7.14.3
react: ^18.x || ^19.x
react-dom: ^18.x || ^19.x
- '@mantine/notifications@7.14.1':
- resolution: {integrity: sha512-08suBIh/EJuTnzF1/Aao73S534KXvD7MiEaRNPXG+vBFz57Lu4DOtyLG4mXju6eNK99KJziVlK7CMIv6ADcQNg==}
+ '@mantine/notifications@7.14.3':
+ resolution: {integrity: sha512-7N9u4upi1On8TL94UvrUNhpDGxp1sAkbcgiNcu6zhvy4j29TPFapoXB5CRE9zzjAf3CYq3AigE96bXlCDm9xuQ==}
peerDependencies:
- '@mantine/core': 7.14.1
- '@mantine/hooks': 7.14.1
+ '@mantine/core': 7.14.3
+ '@mantine/hooks': 7.14.3
react: ^18.x || ^19.x
react-dom: ^18.x || ^19.x
- '@mantine/spotlight@7.14.1':
- resolution: {integrity: sha512-yQ7ROtlxn1KclEtPs8RN+yUvkwopvXvM2qqjKrDa/XtvugjYICcJzyop4W+uzddekrlk55Y0qaSAzMBUpqZg/w==}
+ '@mantine/spotlight@7.14.3':
+ resolution: {integrity: sha512-+WIJJr/KP0tSEyYNkS0x71gnuwSUquuj0GtPvKNH4OY4mLnMnfYDlkdpLVfakXM2P3qKRUMsbM475SVIEXaqJw==}
peerDependencies:
- '@mantine/core': 7.14.1
- '@mantine/hooks': 7.14.1
+ '@mantine/core': 7.14.3
+ '@mantine/hooks': 7.14.3
react: ^18.x || ^19.x
react-dom: ^18.x || ^19.x
- '@mantine/store@7.14.1':
- resolution: {integrity: sha512-wpemDaqOJc1zsvnjaic1+KRQSy7dZhQ4XDwxqqq5MwG6aImCHqEBVf17Qhj3sDjpA7pnpxnKAHotLqfzjQn3dQ==}
+ '@mantine/store@7.14.3':
+ resolution: {integrity: sha512-o15vbTUNlLqD/yLOtEClnc4fY2ONDaCZiaL9REUy0xhCDbVTeeqnu9BV604yuym50ZH5mhMHix1TX3K9vGsWvA==}
peerDependencies:
react: ^18.x || ^19.x
- '@mantine/tiptap@7.14.1':
- resolution: {integrity: sha512-pwhvR1Om8XOD6QCDWUdWKyq/djV0Gm2Z5HjziDkAJtiUfj5IWkxPinAF7lkV/9XDafo4oa3hyOA6XegdInE0rw==}
+ '@mantine/tiptap@7.14.3':
+ resolution: {integrity: sha512-3bWMtohuW1/8EpU2cWlayWL2TUFJwTww8N21mBS7TO17aO34B9enpFZ1qoyeINQBka+PMMaofFeKjdvNIpCb0g==}
peerDependencies:
- '@mantine/core': 7.14.1
- '@mantine/hooks': 7.14.1
+ '@mantine/core': 7.14.3
+ '@mantine/hooks': 7.14.3
'@tiptap/extension-link': '>=2.1.12'
'@tiptap/react': '>=2.1.12'
react: ^18.x || ^19.x
@@ -2974,12 +2949,12 @@ packages:
resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==}
hasBin: true
- '@million/install@1.0.12':
- resolution: {integrity: sha512-1TeXcdGCjrcCG/VcKayZ6NC646cf/gKTkscn2YbfwYbE4gLJbJHCrXxQ3zsWHznqiw61t1oTjFgIafM1JBcLzA==}
+ '@million/install@1.0.13':
+ resolution: {integrity: sha512-gFslYuzCem83FHMo4ZIWXmRWmyABXmTBQxodwnP4AeWtLjdvymOp8JB5+b/A4eZX79heFZuw9eqBpERo9zgvtg==}
hasBin: true
- '@million/lint@1.0.12':
- resolution: {integrity: sha512-aicK2WWdCGxxoRzQTrfBPUsumvKblnHvQ//OtIsutqiFqareMI1vcG8v4X1y+kliJB81j7oLDi4zZqvYBQHVvQ==}
+ '@million/lint@1.0.13':
+ resolution: {integrity: sha512-jYQMz0GK5FzfwsQZDxs58V2GeUPqma9af7vkLVrdKHzXTpV1cVXxIjSL8+rvDM8iuzVA2BEtunZ0k3bIYAmvIA==}
hasBin: true
'@next/env@14.2.18':
@@ -3374,39 +3349,39 @@ packages:
typescript:
optional: true
- '@tabler/icons-react@3.22.0':
- resolution: {integrity: sha512-pOnn+IqZpnkYsEKRvbXXLXwXhYwg4cy1fEVr5SRrgAYJXkobpDjFTdVHlab0HEBXY5AE1NjsMlVeK6H/8Vv2uQ==}
+ '@tabler/icons-react@3.23.0':
+ resolution: {integrity: sha512-uSJfu1Tnhk6AAkerNCOBL3KL3aPpb/bnB4UjTbV3jItTJKitEgr4a98ted67qu5FHB3/tG1bxs32pqy5OL7NGw==}
peerDependencies:
react: '>= 16'
- '@tabler/icons@3.22.0':
- resolution: {integrity: sha512-IfgGzhFph5OBr2wTieWL/hyAs0FThnq9O155a6kfGYxqx7h5LQw91wnRswhEaGhXCcfmR7ZVDUr9H+x4b9Pb8g==}
+ '@tabler/icons@3.23.0':
+ resolution: {integrity: sha512-Cz+X58jfRm0g/KcupXXuPw5knj671lNR054AnmLXvCjudiQBWI0wZulDDSsqDoGezvBzMTNPQtNcjLkZs82ZxQ==}
'@tanstack/match-sorter-utils@8.19.4':
resolution: {integrity: sha512-Wo1iKt2b9OT7d+YGhvEPD3DXvPv2etTusIMhMUoG7fbhmxcXCtIjJDEygy91Y2JFlwGyjqiBPRozme7UD8hoqg==}
engines: {node: '>=12'}
- '@tanstack/query-core@5.60.6':
- resolution: {integrity: sha512-tI+k0KyCo1EBJ54vxK1kY24LWj673ujTydCZmzEZKAew4NqZzTaVQJEuaG1qKj2M03kUHN46rchLRd+TxVq/zQ==}
+ '@tanstack/query-core@5.62.0':
+ resolution: {integrity: sha512-sx38bGrqF9bop92AXOvzDr0L9fWDas5zXdPglxa9cuqeVSWS7lY6OnVyl/oodfXjgOGRk79IfCpgVmxrbHuFHg==}
- '@tanstack/query-devtools@5.59.20':
- resolution: {integrity: sha512-vxhuQ+8VV4YWQSFxQLsuM+dnEKRY7VeRzpNabFXdhEwsBYLrjXlF1pM38A8WyKNLqZy8JjyRO8oP4Wd/oKHwuQ==}
+ '@tanstack/query-devtools@5.61.4':
+ resolution: {integrity: sha512-21Tw+u8E3IJJj4A/Bct4H0uBaDTEu7zBrR79FeSyY+mS2gx5/m316oDtJiKkILc819VSTYt+sFzODoJNcpPqZQ==}
- '@tanstack/react-query-devtools@5.61.0':
- resolution: {integrity: sha512-hd3yXl+KV+OGQmAw946qHAFp6DygcXcYN+1ai9idYddx6uEQyCwYk3jyIBOQEUw9uzN5DOGJLBsgd/QcimDQsA==}
+ '@tanstack/react-query-devtools@5.62.0':
+ resolution: {integrity: sha512-9NWUgpfRPiUpsPdYopddbQLjWXbMBNaxM7K5VXPZIPfcfJJ4mG6VqrEJysL/79zgl7hC9kJlP+zXA0r5niomdg==}
peerDependencies:
- '@tanstack/react-query': ^5.61.0
+ '@tanstack/react-query': ^5.62.0
react: ^18 || ^19
- '@tanstack/react-query-next-experimental@5.61.0':
- resolution: {integrity: sha512-jR1KHeeUgj/Dec5P/cWZF4hx6I9KS+NWfjlwS3PWdoJKBn6OKWqn4na/pFsPk1KNZVcNv+C9pHxBBY3/gU48nQ==}
+ '@tanstack/react-query-next-experimental@5.62.0':
+ resolution: {integrity: sha512-Fml6J0LduC/xxYIDVTn/QYr66nzfob03O1mylgn9X6dfUwnhH9584hKOl+4UKGxCGjkEugp+FvI2T02FqhW/3g==}
peerDependencies:
- '@tanstack/react-query': ^5.61.0
+ '@tanstack/react-query': ^5.62.0
next: ^13 || ^14 || ^15
react: ^18 || ^19
- '@tanstack/react-query@5.61.0':
- resolution: {integrity: sha512-SBzV27XAeCRBOQ8QcC94w2H1Md0+LI0gTWwc3qRJoaGuewKn5FNW4LSqwPFJZVEItfhMfGT7RpZuSFXjTi12pQ==}
+ '@tanstack/react-query@5.62.0':
+ resolution: {integrity: sha512-tj2ltjAn2a3fs+Dqonlvs6GyLQ/LKVJE2DVSYW+8pJ3P6/VCVGrfqv5UEchmlP7tLOvvtZcOuSyI2ooVlR5Yqw==}
peerDependencies:
react: ^18 || ^19
@@ -3433,236 +3408,241 @@ packages:
'@testcontainers/mysql@10.15.0':
resolution: {integrity: sha512-YxAPlsigvjq0EPKbQuaPyQVgEa8nNIw2TPbtq7MyZh1eG3ePHKvpqEmDAu7GsfgJqYZU3YvK5b8Ty9Wo0qJYNA==}
- '@tiptap/core@2.10.2':
- resolution: {integrity: sha512-jYLXbYHTi1stLla/74J8NJizDtcJ/uokhG+1gN4DMWHDujaZOrRZhW98o9gN5BYAp4zv//TVX8H+afLZwKGCKQ==}
+ '@tiptap/core@2.10.3':
+ resolution: {integrity: sha512-wAG/0/UsLeZLmshWb6rtWNXKJftcmnned91/HLccHVQAuQZ1UWH+wXeQKu/mtodxEO7JcU2mVPR9mLGQkK0McQ==}
peerDependencies:
'@tiptap/pm': ^2.7.0
- '@tiptap/extension-blockquote@2.10.2':
- resolution: {integrity: sha512-whmep+v0VvBI9Kg5TJ4sKIj7Z+MOjBKAndP0qn1bMoqPNNVRxt92iIud72wfXwfBNcrYiGNlssvsAnPwXfbG9w==}
+ '@tiptap/extension-blockquote@2.10.3':
+ resolution: {integrity: sha512-u9Mq4r8KzoeGVT8ms6FQDIMN95dTh3TYcT7fZpwcVM96mIl2Oyt+Bk66mL8z4zuFptfRI57Cu9QdnHEeILd//w==}
peerDependencies:
'@tiptap/core': ^2.7.0
- '@tiptap/extension-bold@2.10.2':
- resolution: {integrity: sha512-1KNTXA8HDkhXblkfeRYDdqAu/Xz2fygyaSrvabrfzg5QVYyVYPNJwjrtfTQNyzWOejBVGE3mOyqnjlLUzPmyYA==}
+ '@tiptap/extension-bold@2.10.3':
+ resolution: {integrity: sha512-xnF1tS2BsORenr11qyybW120gHaeHKiKq+ZOP14cGA0MsriKvWDnaCSocXP/xMEYHy7+2uUhJ0MsKkHVj4bPzQ==}
peerDependencies:
'@tiptap/core': ^2.7.0
- '@tiptap/extension-bubble-menu@2.10.2':
- resolution: {integrity: sha512-KAh2bvYcixJ3RFv2P05kPNLAJ4uW6BDj1AfEMn0YguBWWTgZg8Kot1AzBRgTjBBFCInQS6b49db1ff4M07DGsg==}
+ '@tiptap/extension-bubble-menu@2.10.3':
+ resolution: {integrity: sha512-e9a4yMjQezuKy0rtyyzxbV2IAE1bm1PY3yoZEFrcaY0o47g1CMUn2Hwe+9As2HdntEjQpWR7NO1mZeKxHlBPYA==}
peerDependencies:
'@tiptap/core': ^2.7.0
'@tiptap/pm': ^2.7.0
- '@tiptap/extension-bullet-list@2.10.2':
- resolution: {integrity: sha512-jXtTQXZ3j2cyG2dNyVnGauIbsX8CmDY56MJfDg1p+1UZ3zW2GVbKHfvyuulsjobxEd0DNLxduGqbkDY7x3I+HA==}
+ '@tiptap/extension-bullet-list@2.10.3':
+ resolution: {integrity: sha512-PTkwJOVlHi4RR4Wrs044tKMceweXwNmWA6EoQ93hPUVtQcwQL990Es5Izp+i88twTPLuGD9dH+o9QDyH9SkWdA==}
peerDependencies:
'@tiptap/core': ^2.7.0
- '@tiptap/extension-code-block@2.10.2':
- resolution: {integrity: sha512-Y/wkK9Ni4ALGqiGezov62p6cpPcJauBfn2wF1lgJVr6XJ4na5KTCUEbiyBZNbo3aD52vZKgWt8LpLvJ2/5STSw==}
+ '@tiptap/extension-code-block@2.10.3':
+ resolution: {integrity: sha512-yiDVNg22fYkzsFk5kBlDSHcjwVJgajvO/M5fDXA+Hfxwo2oNcG6aJyyHXFe+UaXTVjdkPej0J6kcMKrTMCiFug==}
peerDependencies:
'@tiptap/core': ^2.7.0
'@tiptap/pm': ^2.7.0
- '@tiptap/extension-code@2.10.2':
- resolution: {integrity: sha512-VV14oeOsJ3VqUEjuUl+lzSW/IBLhurmcj9IiN2sq/Voin04dwvtchqP5fNXgmM3+rFM88zNOsbX0e4uSG4R10w==}
+ '@tiptap/extension-code@2.10.3':
+ resolution: {integrity: sha512-JyLbfyY3cPctq9sVdpcRWTcoUOoq3/MnGE1eP6eBNyMTHyBPcM9TPhOkgj+xkD1zW/884jfelB+wa70RT/AMxQ==}
peerDependencies:
'@tiptap/core': ^2.7.0
- '@tiptap/extension-color@2.10.2':
- resolution: {integrity: sha512-lIUrsk8XBG0h8ft5vU6u0ehPk0pcZK3xjhOLF/qxiGhZNBynX5/Nb7mez05J0/P6GKsD9Hj6UD7wm4ZkGmNT9A==}
+ '@tiptap/extension-color@2.10.3':
+ resolution: {integrity: sha512-FC2hPMSQ4w9UmO9kJCAdoU7gHpDbJ6MeJAmikB9EPp16dbGwFLrZm9TZ/4pv74fGfVm0lv720316ALOEgPEDjQ==}
peerDependencies:
'@tiptap/core': ^2.7.0
'@tiptap/extension-text-style': ^2.7.0
- '@tiptap/extension-document@2.10.2':
- resolution: {integrity: sha512-Xodp6rMg6vtKZkyX3I6gVd6OZ9PNz9udhDLdCG6JscVJQPO8viV++39UOH416FCvRT46BdHWNCRu/xjUG1C0rA==}
+ '@tiptap/extension-document@2.10.3':
+ resolution: {integrity: sha512-6i8+xbS2zB6t8iFzli1O/QB01MmwyI5Hqiiv4m5lOxqavmJwLss2sRhoMC2hB3CyFg5UmeODy/f/RnI6q5Vixg==}
peerDependencies:
'@tiptap/core': ^2.7.0
- '@tiptap/extension-dropcursor@2.10.2':
- resolution: {integrity: sha512-pzkD6Y9r3x4Mb6KqpuPraGNNfxIkQD6dJNtZ9PpU9jVtJDjsGIGdyzCbVJq984UAPBamXiF/5DLwlON7buLd6A==}
+ '@tiptap/extension-dropcursor@2.10.3':
+ resolution: {integrity: sha512-wzWf82ixWzZQr0hxcf/A0ul8NNxgy1N63O+c56st6OomoLuKUJWOXF+cs9O7V+/5rZKWdbdYYoRB5QLvnDBAlQ==}
peerDependencies:
'@tiptap/core': ^2.7.0
'@tiptap/pm': ^2.7.0
- '@tiptap/extension-floating-menu@2.10.2':
- resolution: {integrity: sha512-s/KfW5YQY13BwhSQRlgomYmHuBT0k6FBxn8mgJLHcA9sTqgy/BriOhmNkMrredNzd4UOd5JVpcT6b+eckG4nkQ==}
+ '@tiptap/extension-floating-menu@2.10.3':
+ resolution: {integrity: sha512-Prg8rYLxeyzHxfzVu1mDkkUWMnD9ZN3y370O/1qy55e+XKVw9jFkTSuz0y0+OhMJG6bulYpDUMtb+N3+2xOWlQ==}
peerDependencies:
'@tiptap/core': ^2.7.0
'@tiptap/pm': ^2.7.0
- '@tiptap/extension-gapcursor@2.10.2':
- resolution: {integrity: sha512-Uj2hIYC5zRPGI9xBYFwtld8JrZ8YZXEqO7sN5VcOwt12cnSmvzga86jUKpj3WOMP/8KamLWW8m8UKHd7Qg1kMA==}
+ '@tiptap/extension-gapcursor@2.10.3':
+ resolution: {integrity: sha512-FskZi2DqDSTH1WkgLF2OLy0xU7qj3AgHsKhVsryeAtld4jAK5EsonneWgaipbz0e/MxuIvc1oyacfZKABpLaNg==}
peerDependencies:
'@tiptap/core': ^2.7.0
'@tiptap/pm': ^2.7.0
- '@tiptap/extension-hard-break@2.10.2':
- resolution: {integrity: sha512-jEVKEe8I+Ai/qYjVf6Idg2Gpp1Cxn4O4twJ0MnlEdzoaEHgt/OTU5NO0PBZMpoe/4BkOvkETZmqRbrcGsapeYQ==}
+ '@tiptap/extension-hard-break@2.10.3':
+ resolution: {integrity: sha512-2rFlimUKAgKDwT6nqAMtPBjkrknQY8S7oBNyIcDOUGyFkvbDUl3Jd0PiC929S5F3XStJRppnMqhpNDAlWmvBLA==}
peerDependencies:
'@tiptap/core': ^2.7.0
- '@tiptap/extension-heading@2.10.2':
- resolution: {integrity: sha512-OfvE+epZSyB0TbV5/4GdvRPMT1kd0fbgLUEaldWMZOLw/4eOGWZ8yXAtrWkoRMLZfOclgnDfwXvXJLnWXrDdDw==}
+ '@tiptap/extension-heading@2.10.3':
+ resolution: {integrity: sha512-AlxXXPCWIvw8hQUDFRskasj32iMNB8Sb19VgyFWqwvntGs2/UffNu8VdsVqxD2HpZ0g5rLYCYtSW4wigs9R3og==}
peerDependencies:
'@tiptap/core': ^2.7.0
- '@tiptap/extension-highlight@2.10.2':
- resolution: {integrity: sha512-yJpqagUS672RPsGRc6JrNuqf3DbMiP+g4Al3cVpU3ff3yEORbCMsgvwkCOE9thSO9B4SOFQP4HzX2x1DLJtjew==}
+ '@tiptap/extension-highlight@2.10.3':
+ resolution: {integrity: sha512-srMOdpUTcp1yPGmUqgKOkbmTpCYOF6Q/8CnquDkhrvK7Gyphj+n8TocrKiloaRYZKcoQWtmb+kcVPaHhHMzsWQ==}
peerDependencies:
'@tiptap/core': ^2.7.0
- '@tiptap/extension-history@2.10.2':
- resolution: {integrity: sha512-Hr5cvYgOAP7vaRD5vbMjirTATFe/zYqnzePhq1c9TQESOi2o0zKxWpZIcHbFFIXCjHLSnpXOZ4yFwHP4k12rgg==}
+ '@tiptap/extension-history@2.10.3':
+ resolution: {integrity: sha512-HaSiMdx9Im9Pb9qGlVud7W8bweRDRMez33Uzs5a2x0n1RWkelfH7TwYs41Y3wus8Ujs7kw6qh7jyhvPpQBKaSA==}
peerDependencies:
'@tiptap/core': ^2.7.0
'@tiptap/pm': ^2.7.0
- '@tiptap/extension-horizontal-rule@2.10.2':
- resolution: {integrity: sha512-DqaCUxjXnoVN/yylEjoGIlvKkT1KF8mwFJncJn8oSAukYEaSAK056ETvmyZk+/bzc3aRpfv0Kfn/zmLfHZ3wnA==}
+ '@tiptap/extension-horizontal-rule@2.10.3':
+ resolution: {integrity: sha512-1a2IWhD00tgUNg/91RLnBvfENL7DLCui5L245+smcaLu+OXOOEpoBHawx59/M4hEpsjqvRRM79TzO9YXfopsPw==}
peerDependencies:
'@tiptap/core': ^2.7.0
'@tiptap/pm': ^2.7.0
- '@tiptap/extension-image@2.10.2':
- resolution: {integrity: sha512-xaJOVeR/fWozJMVKjYhskecsbayUUm1tIbjE+SyG7IW3Jp+081/W9z2nyfXG6YNnuVjYq+uLejR2Bt0cnEZvmA==}
+ '@tiptap/extension-image@2.10.3':
+ resolution: {integrity: sha512-YIjAF5CwDkMe28OQ5pvnmdRgbJ9JcGMIHY1kyqNunSf2iwphK+6SWz9UEIkDFiT7AsRZySqxFSq93iK1XyTifw==}
peerDependencies:
'@tiptap/core': ^2.7.0
- '@tiptap/extension-italic@2.10.2':
- resolution: {integrity: sha512-6p1YkJEWHuMROzNrK+GFJamujBswpydfR3ZMpIjQTLr4hRhSGrde/B5WODRDS+3JiK1xcN16ZQVPFsRJaHMjfQ==}
+ '@tiptap/extension-italic@2.10.3':
+ resolution: {integrity: sha512-wAiO6ZxoHx2H90phnKttLWGPjPZXrfKxhOCsqYrK8BpRByhr48godOFRuGwYnKaiwoVjpxc63t+kDJDWvqmgMw==}
peerDependencies:
'@tiptap/core': ^2.7.0
- '@tiptap/extension-link@2.10.2':
- resolution: {integrity: sha512-bgsWdinDPGEiMD0NgphpKaxm4l9+PbPwdLDGDFyEX069VAyuSN4y63Sn32clpwlLcibVu3JxVFClJ+o6wKtmdg==}
+ '@tiptap/extension-link@2.10.3':
+ resolution: {integrity: sha512-8esKlkZBzEiNcpt7I8Cd6l1mWmCc/66pPbUq9LfnIniDXE3U+ahBf4m3TJltYFBGbiiTR/xqMtJyVHOpuLDtAw==}
peerDependencies:
'@tiptap/core': ^2.7.0
'@tiptap/pm': ^2.7.0
- '@tiptap/extension-list-item@2.10.2':
- resolution: {integrity: sha512-NE800m/QCk58MUcfeeCqmDjgOuiwHddaZvCCQIpErZdI2Y0io9RsSYU3HHEFPIfbKsv/ykVTYbwSweTPs1Tmxw==}
+ '@tiptap/extension-list-item@2.10.3':
+ resolution: {integrity: sha512-9sok81gvZfSta2K1Dwrq5/HSz1jk4zHBpFqCx0oydzodGslx6X1bNxdca+eXJpXZmQIWALK7zEr4X8kg3WZsgw==}
peerDependencies:
'@tiptap/core': ^2.7.0
- '@tiptap/extension-ordered-list@2.10.2':
- resolution: {integrity: sha512-1WYknf7/feouoBN7jW9Z6fvN9gzS1WRaOrDVkLZQ2ZLgT+Bs8H8/r1pv23q8Un6lg0mApwqnUxNhLOOrVyDkGQ==}
+ '@tiptap/extension-ordered-list@2.10.3':
+ resolution: {integrity: sha512-/SFuEDnbJxy3jvi72LeyiPHWkV+uFc0LUHTUHSh20vwyy+tLrzncJfXohGbTIv5YxYhzExQYZDRD4VbSghKdlw==}
peerDependencies:
'@tiptap/core': ^2.7.0
- '@tiptap/extension-paragraph@2.10.2':
- resolution: {integrity: sha512-EZG9W5rsU4uP585cIOrhbAPOUsgqrFbDrj1tZjTbvv0EWK03Un3FGYoGilkcUIxD9uB/XVHP+v2596Ifyi/dvQ==}
+ '@tiptap/extension-paragraph@2.10.3':
+ resolution: {integrity: sha512-sNkTX/iN+YoleDiTJsrWSBw9D7c4vsYwnW5y/G5ydfuJMIRQMF78pWSIWZFDRNOMkgK5UHkhu9anrbCFYgBfaA==}
peerDependencies:
'@tiptap/core': ^2.7.0
- '@tiptap/extension-strike@2.10.2':
- resolution: {integrity: sha512-TjrBbO6UbXCt55hV9wRE7h5R/jLTB+z2yn2blz1TfR7wKkX3tJOnb+ptvIHEVFGJOjkZP6Xaj+aAkGVg5dKZYA==}
+ '@tiptap/extension-strike@2.10.3':
+ resolution: {integrity: sha512-jYoPy6F6njYp3txF3u23bgdRy/S5ATcWDO9LPZLHSeikwQfJ47nqb+EUNo5M8jIOgFBTn4MEbhuZ6OGyhnxopA==}
peerDependencies:
'@tiptap/core': ^2.7.0
- '@tiptap/extension-table-cell@2.10.2':
- resolution: {integrity: sha512-FmppE53gmg/PTdtxAMsGP13SZc03dVKsH94l/Jj60gU5xPnjR6424+SETdotjAQdFCBRTYoci2BCP+22e/FTzw==}
+ '@tiptap/extension-table-cell@2.10.3':
+ resolution: {integrity: sha512-EYzBrnq7KUAcRhshIoTmC4ED8YoF4Ei5m8ZMPOctKX+QMAagKdcrw2UxuOf4tP2xgBYx+qDsKCautepZXQiL2g==}
peerDependencies:
'@tiptap/core': ^2.7.0
- '@tiptap/extension-table-header@2.10.2':
- resolution: {integrity: sha512-1kmWgKrrHSC38sB+IWwYnBmRFot8u3PntneHIpQoo11wcVkEWUNZ9lmhEKMawnKan5h2yDVlUsPMR9QB/iarsQ==}
+ '@tiptap/extension-table-header@2.10.3':
+ resolution: {integrity: sha512-zJqzivz+VITYIFXNH09leBbkwAPuvp504rCAFL2PMa1uaME6+oiiRqZvXQrOiRkjNpOWEXH4dqvVLwkSMZoWaw==}
peerDependencies:
'@tiptap/core': ^2.7.0
- '@tiptap/extension-table-row@2.10.2':
- resolution: {integrity: sha512-htS8ld4HD0zl7g0C/V9szdAX8Cjz9+ckr8qGrJy6yJS9ByS2x0VnV5fT73WUCx0zlNOrr1hcedlvDUTEPvzSuQ==}
+ '@tiptap/extension-table-row@2.10.3':
+ resolution: {integrity: sha512-l6P6BAE4SuIFdPmsRd+zGP2Ks9AhLAua7nfDlHFMWDnfOeaJu7g/t4oG++9xTojDcVDHhcIe8TJYUXfhOt2anw==}
peerDependencies:
'@tiptap/core': ^2.7.0
- '@tiptap/extension-table@2.10.2':
- resolution: {integrity: sha512-T7hzHEB090KsAy0VS4wogcjwauKHlYorQKrBxxZHzE6n6w6Zi0Cz00qJnAb6oYgKrMCTredcxnWUH8PmWlehYg==}
+ '@tiptap/extension-table@2.10.3':
+ resolution: {integrity: sha512-XAvq0ptpHfuN7lQhTeew4Sqo8aKYHTqroa7cHL8I+gWJqYqKJSTGb4FAqdGIFEzHvnSsMCFbTL//kAHXvTdsHg==}
peerDependencies:
'@tiptap/core': ^2.7.0
'@tiptap/pm': ^2.7.0
- '@tiptap/extension-task-item@2.10.2':
- resolution: {integrity: sha512-FArCQ+j3QYwF6CbexkRJUPTgfMsFJ3uYCFHtJFQbMp8KqGHh19R3Rvc+Z4PFHX3SD6dbBcSQFoiL2mUTKFj8XA==}
+ '@tiptap/extension-task-item@2.10.3':
+ resolution: {integrity: sha512-vE4qxGrZTdwynHq6l5xN0jI0ahDZpmKeoD6yuCMNyN831dgHXEjNrV8oBtZUvvqChFRc/LiSmUbrTInUn5xeNg==}
peerDependencies:
'@tiptap/core': ^2.7.0
'@tiptap/pm': ^2.7.0
- '@tiptap/extension-task-list@2.10.2':
- resolution: {integrity: sha512-q4FJGjYL2n34XyjC/k9C1Fyx0M4DavyNLq0v3Gqa9/exZD6d4uUYHUHcFvZXOBYrkpVh+4fxIOQvcyz54WVKYw==}
+ '@tiptap/extension-task-list@2.10.3':
+ resolution: {integrity: sha512-Zj1pj+6VrL8VXlFYWdcLlCMykzARsvdqdU8cGVnBuC0H0vrSSfLGl+GxGnQwxTnqiNtxR4t70DLi/UjFBvzlqw==}
peerDependencies:
'@tiptap/core': ^2.7.0
- '@tiptap/extension-text-align@2.10.2':
- resolution: {integrity: sha512-eDvks4fUZuOuAhWD8/HJ070g2OQlEnBpak2+huvzPhGdYP81vhx5OWk/rfF6WzLzxLwnDND2zvk3YL+RBqERZQ==}
+ '@tiptap/extension-text-align@2.10.3':
+ resolution: {integrity: sha512-g75sNl73gtgjP3XIcl06kvv1qw3c0rGEUD848rUU1bvlBpU3IxjkcQLgYvHmv3vpuUp9cKUkA2wa7Sv6R3fjvw==}
peerDependencies:
'@tiptap/core': ^2.7.0
- '@tiptap/extension-text-style@2.10.2':
- resolution: {integrity: sha512-dWx5Ean7Rb6rdqO6C/i0qIIABKHFsABZj0mTDr0/ZXsw3V2O4d1cP13evvcc7HMLNAXziRTtWCVU6M06vwM/Pw==}
+ '@tiptap/extension-text-style@2.10.3':
+ resolution: {integrity: sha512-TalYIdlF7vBA4afFhmido7AORdBbu3sV+HCByda0FiNbM6cjng3Nr9oxHOCVJy+ChqrcgF4m54zDfLmamdyu5Q==}
peerDependencies:
'@tiptap/core': ^2.7.0
- '@tiptap/extension-text@2.10.2':
- resolution: {integrity: sha512-7WaJCmHAnf24gZc+Bl64vZgjAFt0CSEc5Jr+f3GII6XeCkZpTCJX85po2MFUhBRZMJheyctyL+UfsRauo/iP0Q==}
+ '@tiptap/extension-text@2.10.3':
+ resolution: {integrity: sha512-7p9XiRprsRZm8y9jvF/sS929FCELJ5N9FQnbzikOiyGNUx5mdI+exVZlfvBr9xOD5s7fBLg6jj9Vs0fXPNRkPg==}
peerDependencies:
'@tiptap/core': ^2.7.0
- '@tiptap/extension-underline@2.10.2':
- resolution: {integrity: sha512-jDWGqqUYkrLgqRQDyqh+LpbkiqPfaWOoo5bydYL0u80GPEavovxZPoCJ/HDlOfdwm+FIPy55OP/29tELJRptmg==}
+ '@tiptap/extension-underline@2.10.3':
+ resolution: {integrity: sha512-VeGs0jeNiTnXddHHJEgOc/sKljZiyTEgSSuqMmsBACrr9aGFXbLTgKTvNjkZ9WzSnu7LwgJuBrwEhg8yYixUyQ==}
peerDependencies:
'@tiptap/core': ^2.7.0
- '@tiptap/pm@2.10.2':
- resolution: {integrity: sha512-jEgC79uvuEl51XxulutUJPSlhkoY0xQc9R/G4MQltAi+JxJ+KE/pOxgqziWNxBpgUzQqloupjod0kLhLUL4Cig==}
+ '@tiptap/pm@2.10.3':
+ resolution: {integrity: sha512-771p53aU0KFvujvKpngvq2uAxThlEsjYaXcVVmwrhf0vxSSg+psKQEvqvWvHv/3BwkPVCGwmEKNVJZjaXFKu4g==}
- '@tiptap/react@2.10.2':
- resolution: {integrity: sha512-xBg0uA/ON9LbC8ojwjgFQgZA1xmaEotXZnZcM3tfGjCboqk0toi59v+2CIN9icDfW+UT/hsget3SBQtRw+SBEw==}
+ '@tiptap/react@2.10.3':
+ resolution: {integrity: sha512-5GBL3arWai8WZuCl1MMA7bT5aWwqDi5AOQhX+hovKjwHvttpKDogRoUBL5k6Eds/eQMBMGTpsfmZlGNiFxSv1g==}
peerDependencies:
'@tiptap/core': ^2.7.0
'@tiptap/pm': ^2.7.0
react: ^17.0.0 || ^18.0.0 || ^19.0.0
react-dom: ^17.0.0 || ^18.0.0 || ^19.0.0
- '@tiptap/starter-kit@2.10.2':
- resolution: {integrity: sha512-YbS9P3zvLhfEWnCPMcvCwK/+3XjMgZX73D1qMu9jVRHtQGI2DMk9u42KWAMLQAMBUESMcIeGxJ9G5IWJO0PsyA==}
+ '@tiptap/starter-kit@2.10.3':
+ resolution: {integrity: sha512-oq8xdVIMqohSs91ofHSr7i5dCp2F56Lb9aYIAI25lZmwNwQJL2geGOYjMSfL0IC4cQHPylIuSKYCg7vRFdZmAA==}
'@tootallnate/quickjs-emscripten@0.23.0':
resolution: {integrity: sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==}
- '@trpc/client@11.0.0-rc.638':
- resolution: {integrity: sha512-zKOZZwUMcF4cvm04aawG7dP6M9dCs7FEWHuiBy7xmU+RIonsgpolLMRXm7bFie5EhQOGizhLRGnhneGwjNzWMA==}
+ '@trpc/client@11.0.0-rc.648':
+ resolution: {integrity: sha512-k4FfLKvJwbosUH8KYyZkC50RJHYtIyJECi5WhRXsvaf9a6lgrTlcA+osq815zYcAHo7wEgR9E9UdSTrpLdAQFQ==}
peerDependencies:
- '@trpc/server': 11.0.0-rc.638+09a76869e
+ '@trpc/server': 11.0.0-rc.648+77b4d8920
+ typescript: '>=5.6.2'
- '@trpc/next@11.0.0-rc.638':
- resolution: {integrity: sha512-f02/WcSzoW7/pP5fQr5k3q+4Q5iuQutC+NGJdYVH0W4RZjbSTfg0ME5M/AduZBS3OmxhXBmIIfJ5KKJ4DfdFVg==}
+ '@trpc/next@11.0.0-rc.648':
+ resolution: {integrity: sha512-RgsiznMCc1xpMAVhp8WtgkFO7KyvRWqlqqb2qADCgLuAIjENjGoSEL9BZWiqCKLVrmQYsC42plUUj5QbwMPFuQ==}
peerDependencies:
'@tanstack/react-query': ^5.59.15
- '@trpc/client': 11.0.0-rc.638+09a76869e
- '@trpc/react-query': 11.0.0-rc.638+09a76869e
- '@trpc/server': 11.0.0-rc.638+09a76869e
+ '@trpc/client': 11.0.0-rc.648+77b4d8920
+ '@trpc/react-query': 11.0.0-rc.648+77b4d8920
+ '@trpc/server': 11.0.0-rc.648+77b4d8920
next: 15.0.3
react: '>=16.8.0'
react-dom: '>=16.8.0'
+ typescript: '>=5.6.2'
peerDependenciesMeta:
'@tanstack/react-query':
optional: true
'@trpc/react-query':
optional: true
- '@trpc/react-query@11.0.0-rc.638':
- resolution: {integrity: sha512-DiNfWXQ6FEedUbn9YzxSlIeAv17mYHUwUMPdQBgcvfWBviNQZoeyXWAsjq9LD+DVsfNfmcS6aSD+Y4KG4P4lcA==}
+ '@trpc/react-query@11.0.0-rc.648':
+ resolution: {integrity: sha512-U3H6o/aN3umEA2QNDGRsaJb6M7zrffor2NQl2UaHOiLBHuXZ3ISI2fJXay7e32s1l6z5F5PGMGwTQtUedzWI2w==}
peerDependencies:
'@tanstack/react-query': ^5.59.15
- '@trpc/client': 11.0.0-rc.638+09a76869e
- '@trpc/server': 11.0.0-rc.638+09a76869e
+ '@trpc/client': 11.0.0-rc.648+77b4d8920
+ '@trpc/server': 11.0.0-rc.648+77b4d8920
react: '>=18.2.0'
react-dom: '>=18.2.0'
+ typescript: '>=5.6.2'
- '@trpc/server@11.0.0-rc.638':
- resolution: {integrity: sha512-ho3sRx66UuncKTtuy7UKbYP8IB4qaPj2gmdDIIdQOftta1oYzEsQuYiBozQAIAmX9TbV5FaqAdBUl2alFBSbdg==}
+ '@trpc/server@11.0.0-rc.648':
+ resolution: {integrity: sha512-nKW7FNM+QZrY/CVGlX3hFNIdUvbw6pwSJ+HzEF8GIeSJDKLHK7Ke1QJGI2mRW6oF9dCKMBXfuLaYY2dXfjfn7Q==}
+ peerDependencies:
+ typescript: '>=5.6.2'
'@tsconfig/node10@1.0.11':
resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==}
@@ -3679,20 +3659,17 @@ packages:
'@tsconfig/svelte@1.0.13':
resolution: {integrity: sha512-5lYJP45Xllo4yE/RUBccBT32eBlRDbqN8r1/MIvQbKxW3aFqaYPCNgm8D5V20X4ShHcwvYWNlKg3liDh1MlBoA==}
- '@turbo/gen@2.3.1':
- resolution: {integrity: sha512-QlxmNhrgH9vkI8e13O3Wd3wnLLb+JbGBeifaYywORN9bY29YmObhxLvBTCYGoYFED1nHRxB19mTJBQjPdejskA==}
+ '@turbo/gen@2.3.3':
+ resolution: {integrity: sha512-MIXXX0sVRvfTWOrLhjDT1KJ15dqzRlNlHIvNeWoS5ZtTMQ9XuBl9D5ek/5vMj77n+84mFRS/VKAoEuScOIWwaw==}
hasBin: true
- '@turbo/workspaces@2.3.1':
- resolution: {integrity: sha512-JIDt9G43l/HMOeZcbllbfq7Z8S+GEcjLC9tZS18fs0JQqKsd3lgCJebNS4tJM+3pplJVcM4CQv4BMQxoFW7Qsw==}
+ '@turbo/workspaces@2.3.3':
+ resolution: {integrity: sha512-PSys7Hy5NuX76HBleOkd8wlRtI4GCzLHS2XUpKeGIj0vpzH4fqE+tpi7fBb5t9U7UiyM6E6pyabSKjoD2zUsoQ==}
hasBin: true
'@types/asn1@0.2.4':
resolution: {integrity: sha512-V91DSJ2l0h0gRhVP4oBfBzRBN9lAbPUkGDMCnwedqPKX2d84aAMc9CulOvxdw1f7DfEYx99afab+Rsm3e52jhA==}
- '@types/aws-lambda@8.10.145':
- resolution: {integrity: sha512-dtByW6WiFk5W5Jfgz1VM+YPA21xMXTuSFoLYIDY0L44jDLLflVPtZkYuu3/YxpGcvjzKFBZLU+GyKjR0HOYtyw==}
-
'@types/babel__core@7.20.5':
resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==}
@@ -3720,12 +3697,18 @@ packages:
'@types/connect@3.4.38':
resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==}
+ '@types/cookie@0.4.1':
+ resolution: {integrity: sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==}
+
'@types/cookie@0.6.0':
resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==}
'@types/cookies@0.9.0':
resolution: {integrity: sha512-40Zk8qR147RABiQ7NQnBzWzDcjKzNrntB5BAmeGCb2p/MIyOE+4BVvc17wumsUqUw00bJYqoXFHYygQnEFh4/Q==}
+ '@types/cors@2.8.17':
+ resolution: {integrity: sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==}
+
'@types/css-font-loading-module@0.0.7':
resolution: {integrity: sha512-nl09VhutdjINdWyXxHWN/w9zlNCfr60JUqJbd24YXUuCwgeL0TpFSdElCwb6cxfB6ybE19Gjj4g0jsgkXxKv1Q==}
@@ -3792,8 +3775,8 @@ packages:
'@types/node@18.19.50':
resolution: {integrity: sha512-xonK+NRrMBRtkL1hVCc3G+uXtjh1Al4opBLjqVmipe5ZAaBYWW6cNAiBVZ1BvmkBhep698rP3UM3aRAdSALuhg==}
- '@types/node@22.9.1':
- resolution: {integrity: sha512-p8Yy/8sw1caA8CdRIQBG5tiLHmxtQKObCijiAa9Ez+d4+PRffM4054xbju0msf+cvhJpnFEeNjxmVT/0ipktrg==}
+ '@types/node@22.10.1':
+ resolution: {integrity: sha512-qKgsUwfHZV2WCWLAnVP1JqnpE6Im6h3Y0+fYgMTasNQ7V++CBX5OT1as0g0f+OyubbFqhf6XVNIsmN4IIhEgGQ==}
'@types/prismjs@1.26.5':
resolution: {integrity: sha512-AUZTa7hQ2KY5L7AmtSiqxlhWxb4ina0yd8hNbl4TWuqnv/pFP0nDMb3YrfSBf4hJVGLh2YEIBfKaBW/9UEl6IQ==}
@@ -3861,8 +3844,8 @@ packages:
'@types/xml2js@0.4.14':
resolution: {integrity: sha512-4YnrRemBShWRO2QjvUin8ESA41rH+9nQGLUGZV/1IDhi3SL9OhdpNC/MrulTWuptXKwhx/aDxE7toV0f/ypIXQ==}
- '@typescript-eslint/eslint-plugin@8.15.0':
- resolution: {integrity: sha512-+zkm9AR1Ds9uLWN3fkoeXgFppaQ+uEVtfOV62dDmsy9QCNqlRHWNEck4yarvRNrvRcHQLGfqBNui3cimoz8XAg==}
+ '@typescript-eslint/eslint-plugin@8.16.0':
+ resolution: {integrity: sha512-5YTHKV8MYlyMI6BaEG7crQ9BhSc8RxzshOReKwZwRWN0+XvvTOm+L/UYLCYxFpfwYuAAqhxiq4yae0CMFwbL7Q==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
'@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0
@@ -3872,8 +3855,8 @@ packages:
typescript:
optional: true
- '@typescript-eslint/parser@8.15.0':
- resolution: {integrity: sha512-7n59qFpghG4uazrF9qtGKBZXn7Oz4sOMm8dwNWDQY96Xlm2oX67eipqcblDj+oY1lLCbf1oltMZFpUso66Kl1A==}
+ '@typescript-eslint/parser@8.16.0':
+ resolution: {integrity: sha512-D7DbgGFtsqIPIFMPJwCad9Gfi/hC0PWErRRHFnaCWoEDYi5tQUDiJCTmGUbBiLzjqAck4KcXt9Ayj0CNlIrF+w==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
@@ -3882,12 +3865,12 @@ packages:
typescript:
optional: true
- '@typescript-eslint/scope-manager@8.15.0':
- resolution: {integrity: sha512-QRGy8ADi4J7ii95xz4UoiymmmMd/zuy9azCaamnZ3FM8T5fZcex8UfJcjkiEZjJSztKfEBe3dZ5T/5RHAmw2mA==}
+ '@typescript-eslint/scope-manager@8.16.0':
+ resolution: {integrity: sha512-mwsZWubQvBki2t5565uxF0EYvG+FwdFb8bMtDuGQLdCCnGPrDEDvm1gtfynuKlnpzeBRqdFCkMf9jg1fnAK8sg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@typescript-eslint/type-utils@8.15.0':
- resolution: {integrity: sha512-UU6uwXDoI3JGSXmcdnP5d8Fffa2KayOhUUqr/AiBnG1Gl7+7ut/oyagVeSkh7bxQ0zSXV9ptRh/4N15nkCqnpw==}
+ '@typescript-eslint/type-utils@8.16.0':
+ resolution: {integrity: sha512-IqZHGG+g1XCWX9NyqnI/0CX5LL8/18awQqmkZSl2ynn8F76j579dByc0jhfVSnSnhf7zv76mKBQv9HQFKvDCgg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
@@ -3896,12 +3879,12 @@ packages:
typescript:
optional: true
- '@typescript-eslint/types@8.15.0':
- resolution: {integrity: sha512-n3Gt8Y/KyJNe0S3yDCD2RVKrHBC4gTUcLTebVBXacPy091E6tNspFLKRXlk3hwT4G55nfr1n2AdFqi/XMxzmPQ==}
+ '@typescript-eslint/types@8.16.0':
+ resolution: {integrity: sha512-NzrHj6thBAOSE4d9bsuRNMvk+BvaQvmY4dDglgkgGC0EW/tB3Kelnp3tAKH87GEwzoxgeQn9fNGRyFJM/xd+GQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@typescript-eslint/typescript-estree@8.15.0':
- resolution: {integrity: sha512-1eMp2JgNec/niZsR7ioFBlsh/Fk0oJbhaqO0jRyQBMgkz7RrFfkqF9lYYmBoGBaSiLnu8TAPQTwoTUiSTUW9dg==}
+ '@typescript-eslint/typescript-estree@8.16.0':
+ resolution: {integrity: sha512-E2+9IzzXMc1iaBy9zmo+UYvluE3TW7bCGWSF41hVWUE01o8nzr1rvOQYSxelxr6StUvRcTMe633eY8mXASMaNw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
typescript: '*'
@@ -3909,8 +3892,8 @@ packages:
typescript:
optional: true
- '@typescript-eslint/utils@8.15.0':
- resolution: {integrity: sha512-k82RI9yGhr0QM3Dnq+egEpz9qB6Un+WLYhmoNcvl8ltMEededhh7otBVVIDDsEEttauwdY/hQoSsOv13lxrFzQ==}
+ '@typescript-eslint/utils@8.16.0':
+ resolution: {integrity: sha512-C1zRy/mOL8Pj157GiX4kaw7iyRLKfJXBR3L82hk5kS/GyHcOFmy4YUq/zfZti72I9wnuQtA/+xzft4wCC8PJdA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
@@ -3919,15 +3902,15 @@ packages:
typescript:
optional: true
- '@typescript-eslint/visitor-keys@8.15.0':
- resolution: {integrity: sha512-h8vYOulWec9LhpwfAdZf2bjr8xIp0KNKnpgqSz0qqYYKAW/QZKw3ktRndbiAtUz4acH4QLQavwZBYCc0wulA/Q==}
+ '@typescript-eslint/visitor-keys@8.16.0':
+ resolution: {integrity: sha512-pq19gbaMOmFE3CbL0ZB8J8BFCo2ckfHBfaIsaOZgBIF4EoISJIdLX5xRhd0FGB0LlHReNRuzoJoMGpTjq8F2CQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@umami/node@0.4.0':
resolution: {integrity: sha512-pyphprbiF7KiDSc+SWZ4/rVM8B5vU27zIiFfEPj2lEqczpI4xAKSp+dM3tlzyRAWJL32fcbCfAaLGhJZQV13Rg==}
- '@videojs/http-streaming@3.15.0':
- resolution: {integrity: sha512-6rjaqEa87gVFqDFsHaLKXGrDqL3NhNZRNi6wkMw+uyt1lrLD2OFY0SfRQRNl7Vmmx0pt5FRJoRJYlnKsowyElA==}
+ '@videojs/http-streaming@3.16.1':
+ resolution: {integrity: sha512-+5FXE0q8sRD6lPVdGsDL0N8q4+IiQEjMtoCSu0js1oftdCchP9bbhR9ac8XUGJUCZ53KoeY02izkjyGYK2hpGw==}
engines: {node: '>=8', npm: '>=5'}
peerDependencies:
video.js: ^8.19.0
@@ -3943,54 +3926,54 @@ packages:
'@videojs/xhr@2.7.0':
resolution: {integrity: sha512-giab+EVRanChIupZK7gXjHy90y3nncA2phIOyG3Ne5fvpiMJzvqYwiTOnEVW2S4CoYcuKJkomat7bMXA/UoUZQ==}
- '@vitejs/plugin-react@4.3.3':
- resolution: {integrity: sha512-NooDe9GpHGqNns1i8XDERg0Vsg5SSYRhRxxyTGogUdkdNt47jal+fbuYi+Yfq6pzRCKXyoPcWisfxE6RIM3GKA==}
+ '@vitejs/plugin-react@4.3.4':
+ resolution: {integrity: sha512-SCCPBJtYLdE8PX/7ZQAs1QAZ8Jqwih+0VBLum1EGqmCCQal+MIUqLCzj3ZUy8ufbC0cAM4LRlSTm7IQJwWT4ug==}
engines: {node: ^14.18.0 || >=16.0.0}
peerDependencies:
- vite: ^4.2.0 || ^5.0.0
+ vite: ^4.2.0 || ^5.0.0 || ^6.0.0
- '@vitest/coverage-v8@2.1.5':
- resolution: {integrity: sha512-/RoopB7XGW7UEkUndRXF87A9CwkoZAJW01pj8/3pgmDVsjMH2IKy6H1A38po9tmUlwhSyYs0az82rbKd9Yaynw==}
+ '@vitest/coverage-v8@2.1.6':
+ resolution: {integrity: sha512-qItJVYDbG3MUFO68dOZUz+rWlqe9LMzotERXFXKg25s2A/kSVsyS9O0yNGrITfBd943GsnBeQZkBUu7Pc+zVeA==}
peerDependencies:
- '@vitest/browser': 2.1.5
- vitest: 2.1.5
+ '@vitest/browser': 2.1.6
+ vitest: 2.1.6
peerDependenciesMeta:
'@vitest/browser':
optional: true
- '@vitest/expect@2.1.5':
- resolution: {integrity: sha512-nZSBTW1XIdpZvEJyoP/Sy8fUg0b8od7ZpGDkTUcfJ7wz/VoZAFzFfLyxVxGFhUjJzhYqSbIpfMtl/+k/dpWa3Q==}
+ '@vitest/expect@2.1.6':
+ resolution: {integrity: sha512-9M1UR9CAmrhJOMoSwVnPh2rELPKhYo0m/CSgqw9PyStpxtkwhmdM6XYlXGKeYyERY1N6EIuzkQ7e3Lm1WKCoUg==}
- '@vitest/mocker@2.1.5':
- resolution: {integrity: sha512-XYW6l3UuBmitWqSUXTNXcVBUCRytDogBsWuNXQijc00dtnU/9OqpXWp4OJroVrad/gLIomAq9aW8yWDBtMthhQ==}
+ '@vitest/mocker@2.1.6':
+ resolution: {integrity: sha512-MHZp2Z+Q/A3am5oD4WSH04f9B0T7UvwEb+v5W0kCYMhtXGYbdyl2NUk1wdSMqGthmhpiThPDp/hEoVwu16+u1A==}
peerDependencies:
msw: ^2.4.9
- vite: ^5.0.0
+ vite: ^5.0.0 || ^6.0.0
peerDependenciesMeta:
msw:
optional: true
vite:
optional: true
- '@vitest/pretty-format@2.1.5':
- resolution: {integrity: sha512-4ZOwtk2bqG5Y6xRGHcveZVr+6txkH7M2e+nPFd6guSoN638v/1XQ0K06eOpi0ptVU/2tW/pIU4IoPotY/GZ9fw==}
+ '@vitest/pretty-format@2.1.6':
+ resolution: {integrity: sha512-exZyLcEnHgDMKc54TtHca4McV4sKT+NKAe9ix/yhd/qkYb/TP8HTyXRFDijV19qKqTZM0hPL4753zU/U8L/gAA==}
- '@vitest/runner@2.1.5':
- resolution: {integrity: sha512-pKHKy3uaUdh7X6p1pxOkgkVAFW7r2I818vHDthYLvUyjRfkKOU6P45PztOch4DZarWQne+VOaIMwA/erSSpB9g==}
+ '@vitest/runner@2.1.6':
+ resolution: {integrity: sha512-SjkRGSFyrA82m5nz7To4CkRSEVWn/rwQISHoia/DB8c6IHIhaE/UNAo+7UfeaeJRE979XceGl00LNkIz09RFsA==}
- '@vitest/snapshot@2.1.5':
- resolution: {integrity: sha512-zmYw47mhfdfnYbuhkQvkkzYroXUumrwWDGlMjpdUr4jBd3HZiV2w7CQHj+z7AAS4VOtWxI4Zt4bWt4/sKcoIjg==}
+ '@vitest/snapshot@2.1.6':
+ resolution: {integrity: sha512-5JTWHw8iS9l3v4/VSuthCndw1lN/hpPB+mlgn1BUhFbobeIUj1J1V/Bj2t2ovGEmkXLTckFjQddsxS5T6LuVWw==}
- '@vitest/spy@2.1.5':
- resolution: {integrity: sha512-aWZF3P0r3w6DiYTVskOYuhBc7EMc3jvn1TkBg8ttylFFRqNN2XGD7V5a4aQdk6QiUzZQ4klNBSpCLJgWNdIiNw==}
+ '@vitest/spy@2.1.6':
+ resolution: {integrity: sha512-oTFObV8bd4SDdRka5O+mSh5w9irgx5IetrD5i+OsUUsk/shsBoHifwCzy45SAORzAhtNiprUVaK3hSCCzZh1jQ==}
- '@vitest/ui@2.1.5':
- resolution: {integrity: sha512-ERgKkDMTfngrZip6VG5h8L9B5D0AH/4+bga4yR1UzGH7c2cxv3LWogw2Dvuwr9cP3/iKDHYys7kIFLDKpxORTg==}
+ '@vitest/ui@2.1.6':
+ resolution: {integrity: sha512-SrpLAM0/xpOjXBDv3mayFh5TDEYM59fmEmJXgp1AqtpUWHVw4Tonp6Z9dVBhChU/Q+BY57m74nrQZK8vxKDrMQ==}
peerDependencies:
- vitest: 2.1.5
+ vitest: 2.1.6
- '@vitest/utils@2.1.5':
- resolution: {integrity: sha512-yfj6Yrp0Vesw2cwJbP+cl04OC+IHFsuQsrsJBL9pyGeQXE56v1UAOQco+SR55Vf1nQzfV0QJg1Qum7AaWUwwYg==}
+ '@vitest/utils@2.1.6':
+ resolution: {integrity: sha512-ixNkFy3k4vokOUTU2blIUvOgKq/N2PW8vKIjZZYsGJCMX69MRa9J2sKqX5hY/k5O5Gty3YJChepkqZ3KM9LyIQ==}
'@webassemblyjs/ast@1.12.1':
resolution: {integrity: sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==}
@@ -4070,9 +4053,6 @@ packages:
resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==}
engines: {node: '>=6.5'}
- abstract-logging@2.0.1:
- resolution: {integrity: sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==}
-
accepts@1.3.8:
resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==}
engines: {node: '>= 0.6'}
@@ -4111,14 +4091,6 @@ packages:
resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==}
engines: {node: '>=8'}
- ajv-formats@3.0.1:
- resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==}
- peerDependencies:
- ajv: ^8.0.0
- peerDependenciesMeta:
- ajv:
- optional: true
-
ajv-keywords@3.5.2:
resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==}
peerDependencies:
@@ -4127,9 +4099,6 @@ packages:
ajv@6.12.6:
resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
- ajv@8.17.1:
- resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==}
-
ansi-align@3.0.1:
resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==}
@@ -4193,9 +4162,6 @@ packages:
resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==}
engines: {node: '>= 0.4'}
- array-flatten@1.1.1:
- resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==}
-
array-includes@3.1.8:
resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==}
engines: {node: '>= 0.4'}
@@ -4259,10 +4225,6 @@ packages:
asynckit@0.4.0:
resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
- atomic-sleep@1.0.0:
- resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==}
- engines: {node: '>=8.0.0'}
-
autolinker@3.16.2:
resolution: {integrity: sha512-JiYl7j2Z19F9NdTmirENSUUIIL/9MytEWtmzhfmsKPCp9E+G35Y0UNCMoM9tFigxT59qSc8Ml2dlZXOCVTYwuA==}
@@ -4270,9 +4232,6 @@ packages:
resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
engines: {node: '>= 0.4'}
- avvio@9.1.0:
- resolution: {integrity: sha512-fYASnYi600CsH/j9EQov7lECAniYiBFiiAtBNuZYLA2leLe9qOvZzqYHFjtIj6gD2VMoMLP14834LFWvr4IfDw==}
-
aws-ssl-profiles@1.1.2:
resolution: {integrity: sha512-NZKeq9AfyQvEeNlN0zSYAaWrmBffJh3IELMZfRpJVWgrpEbtEpnjvzqBPf+mxoI287JohRDoa+/nsfqqiZmF6g==}
engines: {node: '>= 6.0.0'}
@@ -4319,6 +4278,10 @@ packages:
base64-js@1.5.1:
resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
+ base64id@2.0.0:
+ resolution: {integrity: sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==}
+ engines: {node: ^4.5.0 || >= 5.9}
+
basic-ftp@5.0.5:
resolution: {integrity: sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==}
engines: {node: '>=10.0.0'}
@@ -4334,8 +4297,8 @@ packages:
resolution: {integrity: sha512-Wjss+Bc674ZABPr+SCKWTqA4V1pyYFhzDTjNBJy4jdmgOv0oGIGXeKBRJyINwP5tIy+iIZD9SfgZpztduzQ5QA==}
engines: {node: '>= 18.4'}
- better-sqlite3@11.5.0:
- resolution: {integrity: sha512-e/6eggfOutzoK0JWiU36jsisdWoHOfN9iWiW/SieKvb7SAa6aGNmBM/UKyp+/wWSXpLlWNN8tCPwoDNPhzUvuQ==}
+ better-sqlite3@11.6.0:
+ resolution: {integrity: sha512-2J6k/eVxcFYY2SsTxsXrj6XylzHWPxveCn4fKPKZFv/Vqn/Cd7lOuX4d7rGQXT5zL+97MkNL3nSbCrIoe3LkgA==}
big.js@5.2.2:
resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==}
@@ -4346,10 +4309,6 @@ packages:
bl@4.1.0:
resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==}
- body-parser@1.20.3:
- resolution: {integrity: sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==}
- engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
-
boxen@5.1.2:
resolution: {integrity: sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==}
engines: {node: '>=10'}
@@ -4364,11 +4323,6 @@ packages:
resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
engines: {node: '>=8'}
- browserslist@4.23.3:
- resolution: {integrity: sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==}
- engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
- hasBin: true
-
browserslist@4.24.2:
resolution: {integrity: sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==}
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
@@ -4433,9 +4387,6 @@ packages:
resolution: {integrity: sha512-aGtmf24DW6MLHHG5gCx4zaI3uBq3KRtxeVs0DjFH6Z0rDNbsvTxFASFvdj79pxjxZ8/5u3PIiN3IwEIQkiiuPw==}
engines: {node: '>=12'}
- chalk-scripts@1.2.8:
- resolution: {integrity: sha512-Mu3mEn4lbqJHZD+wqBE8kwGb1TaNgcMspDIZVDzDHxKhK1zB3Q8q49PP15z0CNNDu5wxSwxhdPV+8UcejOSWxA==}
-
chalk@2.4.2:
resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
engines: {node: '>=4'}
@@ -4448,10 +4399,6 @@ packages:
resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
engines: {node: '>=10'}
- chalk@5.3.0:
- resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==}
- engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
-
change-case@3.1.0:
resolution: {integrity: sha512-2AZp7uJZbYEzRPsFoa+ijKdvp9zsrnnt6+yFokfwEpeJm0xuJDVoxiRCAaTzyJND8GJkofo2IcKWaUZ/OECVzw==}
@@ -4605,6 +4552,10 @@ packages:
resolution: {integrity: sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==}
engines: {node: '>=8'}
+ consola@3.2.3:
+ resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==}
+ engines: {node: ^14.18.0 || >=16.10.0}
+
console-control-strings@1.1.0:
resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==}
@@ -4615,15 +4566,11 @@ packages:
resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==}
engines: {node: '>= 0.6'}
- content-type@1.0.5:
- resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==}
- engines: {node: '>= 0.6'}
-
convert-source-map@2.0.0:
resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
- cookie-signature@1.0.6:
- resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==}
+ cookie-es@1.2.2:
+ resolution: {integrity: sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg==}
cookie@0.7.1:
resolution: {integrity: sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==}
@@ -4654,6 +4601,10 @@ packages:
core-util-is@1.0.3:
resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
+ cors@2.8.5:
+ resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==}
+ engines: {node: '>= 0.10'}
+
cpu-features@0.0.10:
resolution: {integrity: sha512-9IkYqtX3YHPCzoVg1Py+o9057a3i0fp7S530UWokCSaFVTc7CwXPRiOjRjBQQ18ZCNafx78YfnG+HALxtVmOGA==}
engines: {node: '>=10.0.0'}
@@ -4693,6 +4644,9 @@ packages:
resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
engines: {node: '>= 8'}
+ crossws@0.3.1:
+ resolution: {integrity: sha512-HsZgeVYaG+b5zA+9PbIPGq4+J/CJynJuearykPsXx4V/eMhyQ5EDVg3Ak2FBZtVXCiOLu/U7IiwDHTr9MA+IKw==}
+
crypto-random-string@2.0.0:
resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==}
engines: {node: '>=8'}
@@ -4738,14 +4692,6 @@ packages:
dayjs@1.11.13:
resolution: {integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==}
- debug@2.6.9:
- resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
- peerDependencies:
- supports-color: '*'
- peerDependenciesMeta:
- supports-color:
- optional: true
-
debug@3.2.7:
resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
peerDependencies:
@@ -4796,6 +4742,9 @@ packages:
resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
engines: {node: '>= 0.4'}
+ defu@6.1.4:
+ resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==}
+
degenerator@5.0.1:
resolution: {integrity: sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==}
engines: {node: '>= 14'}
@@ -4830,10 +4779,6 @@ packages:
destr@2.0.3:
resolution: {integrity: sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==}
- destroy@1.2.0:
- resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==}
- engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
-
detect-libc@1.0.3:
resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==}
engines: {node: '>=0.10'}
@@ -5014,18 +4959,18 @@ packages:
sqlite3:
optional: true
+ drizzle-zod@0.5.1:
+ resolution: {integrity: sha512-C/8bvzUH/zSnVfwdSibOgFjLhtDtbKYmkbPbUCq46QZyZCH6kODIMSOgZ8R7rVjoI+tCj3k06MRJMDqsIeoS4A==}
+ peerDependencies:
+ drizzle-orm: '>=0.23.13'
+ zod: '*'
+
eastasianwidth@0.2.0:
resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
- ee-first@1.1.1:
- resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
-
effect@3.9.2:
resolution: {integrity: sha512-1sx/v1HTWHTodXfzWxAFg+SCF+ACgpJVruaAMIh/NmDVvrUsf0x9PzpXvkgJUbQ1fMdmKYK//FqxeHSQ+Zxv/Q==}
- electron-to-chromium@1.5.23:
- resolution: {integrity: sha512-mBhODedOXg4v5QWwl21DjM5amzjmI1zw9EPrPK/5Wx7C8jt33bpZNrC7OhHUG3pxRtbLpr3W2dXT+Ph1SsfRZA==}
-
electron-to-chromium@1.5.55:
resolution: {integrity: sha512-6maZ2ASDOTBtjt9FhqYPRnbvKU5tjG0IN9SztUOWYw2AzNDNpKJYLJmlK0/En4Hs/aiWnB+JZ+gW19PIGszgKg==}
@@ -5042,14 +4987,6 @@ packages:
enabled@2.0.0:
resolution: {integrity: sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==}
- encodeurl@1.0.2:
- resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==}
- engines: {node: '>= 0.8'}
-
- encodeurl@2.0.0:
- resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==}
- engines: {node: '>= 0.8'}
-
end-of-stream@1.4.4:
resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==}
@@ -5060,6 +4997,10 @@ packages:
resolution: {integrity: sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==}
engines: {node: '>=10.0.0'}
+ engine.io@6.6.2:
+ resolution: {integrity: sha512-gmNvsYi9C8iErnZdVcJnvCpSKbWTt1E8+JZo8b+daLninywUWi5NQ5STSHZ9rFjFO7imNcvb8Pc5pe/wMR5xEw==}
+ engines: {node: '>=10.2.0'}
+
enhanced-resolve@5.17.1:
resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==}
engines: {node: '>=10.13.0'}
@@ -5140,9 +5081,6 @@ packages:
resolution: {integrity: sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==}
engines: {node: '>=8'}
- escape-html@1.0.3:
- resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
-
escape-string-regexp@1.0.5:
resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
engines: {node: '>=0.8.0'}
@@ -5162,8 +5100,8 @@ packages:
peerDependencies:
eslint: '>=7.0.0'
- eslint-config-turbo@2.3.1:
- resolution: {integrity: sha512-pxxCLLgnZYCjJoGrzUu3jAcb67bKVykLblyMtgTzHN7DlNu6tnp89K3/5fznc6ALyXwXFp0K+nM+Sxst43oaoA==}
+ eslint-config-turbo@2.3.3:
+ resolution: {integrity: sha512-cM9wSBYowQIrjx2MPCzFE6jTnG4vpTPJKZ/O+Ps3CqrmGK/wtNOsY6WHGMwLtKY/nNbgRahAJH6jGVF6k2coOg==}
peerDependencies:
eslint: '>6.6.0'
@@ -5219,8 +5157,8 @@ packages:
peerDependencies:
eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7
- eslint-plugin-turbo@2.3.1:
- resolution: {integrity: sha512-M5MBYBkcQsv11MFHJ+6WpzLpiTBx0OApeUMAHlO4L0eHqQxY03GrmHXjXfozqB+9HwGrW9fqihBzVRllyixJDA==}
+ eslint-plugin-turbo@2.3.3:
+ resolution: {integrity: sha512-j8UEA0Z+NNCsjZep9G5u5soDQHcXq/x4amrwulk6eHF1U91H2qAjp5I4jQcvJewmccCJbVp734PkHHTRnosjpg==}
peerDependencies:
eslint: '>6.6.0'
@@ -5285,10 +5223,6 @@ packages:
resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
engines: {node: '>=0.10.0'}
- etag@1.8.1:
- resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==}
- engines: {node: '>= 0.6'}
-
event-target-shim@5.0.1:
resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==}
engines: {node: '>=6'}
@@ -5309,17 +5243,10 @@ packages:
resolution: {integrity: sha512-bFi65yM+xZgk+u/KRIpekdSYkTB5W1pEf0Lt8Q8Msh7b+eQ7LXVtIB1Bkm4fvclDEL1b2CZkMhv2mOeF8tMdkA==}
engines: {node: '>=12.0.0'}
- express@4.21.1:
- resolution: {integrity: sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==}
- engines: {node: '>= 0.10.0'}
-
external-editor@3.1.0:
resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==}
engines: {node: '>=4'}
- fast-decode-uri-component@1.0.1:
- resolution: {integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==}
-
fast-deep-equal@3.1.3:
resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
@@ -5336,25 +5263,9 @@ packages:
fast-json-stable-stringify@2.1.0:
resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
- fast-json-stringify@6.0.0:
- resolution: {integrity: sha512-FGMKZwniMTgZh7zQp9b6XnBVxUmKVahQLQeRQHqwYmPDqDhcEKZ3BaQsxelFFI5PY7nN71OEeiL47/zUWcYe1A==}
-
fast-levenshtein@2.0.6:
resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
- fast-querystring@1.1.2:
- resolution: {integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==}
-
- fast-redact@3.5.0:
- resolution: {integrity: sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==}
- engines: {node: '>=6'}
-
- fast-uri@2.4.0:
- resolution: {integrity: sha512-ypuAmmMKInk5q7XcepxlnUWDLWv4GFtaJqAzWKqn62IpQ3pejtr5dTVbt3vwqVaMKmkNR55sTT+CqUKIaT21BA==}
-
- fast-uri@3.0.3:
- resolution: {integrity: sha512-aLrHthzCjH5He4Z2H9YZ+v6Ujb9ocRuW6ZzkJQOrTxleEijANq4v1TsaPaVG1PZcuurEzrLcWRyYBYXD5cEiaw==}
-
fast-xml-parser@4.5.0:
resolution: {integrity: sha512-/PlTQCI96+fZMAOLMZK4CWG1ItCbfZ/0jx7UIJFChPNrx7tcEgerUgWbeieCM9MfHInUDyK8DWYZ+YrywDJuTg==}
hasBin: true
@@ -5365,9 +5276,6 @@ packages:
peerDependencies:
'@babel/types': ^7
- fastify@5.1.0:
- resolution: {integrity: sha512-0SdUC5AoiSgMSc2Vxwv3WyKzyGMDJRAW/PgNsK1kZrnkO6MeqUIW9ovVg9F2UGIqtIcclYMyeJa4rK6OZc7Jxg==}
-
fastq@1.17.1:
resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
@@ -5409,14 +5317,6 @@ packages:
resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
engines: {node: '>=8'}
- finalhandler@1.3.1:
- resolution: {integrity: sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==}
- engines: {node: '>= 0.8'}
-
- find-my-way@9.1.0:
- resolution: {integrity: sha512-Y5jIsuYR4BwWDYYQ2A/RWWE6gD8a0FMgtU+HOq1WKku+Cwdz8M1v8wcAmRXXM1/iqtoqg06v+LjAxMYbCjViMw==}
- engines: {node: '>=14'}
-
find-up@5.0.0:
resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
engines: {node: '>=10'}
@@ -5458,10 +5358,6 @@ packages:
resolution: {integrity: sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==}
engines: {node: '>=0.4.x'}
- forwarded@0.2.0:
- resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==}
- engines: {node: '>= 0.6'}
-
fresh@0.5.2:
resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==}
engines: {node: '>= 0.6'}
@@ -5484,6 +5380,11 @@ packages:
fs.realpath@1.0.0:
resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
+ fsevents@2.3.2:
+ resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
+ engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
+ os: [darwin]
+
fsevents@2.3.3:
resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
@@ -5616,6 +5517,9 @@ packages:
graphemer@1.4.0:
resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
+ h3@1.13.0:
+ resolution: {integrity: sha512-vFEAu/yf8UMUcB4s43OaDaigcqpQd14yanmOsn+NcRX3/guSKncyE2rOYhq8RIchgJrPSs/QiIddnTTR1ddiAg==}
+
handlebars@4.7.8:
resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==}
engines: {node: '>=0.4.7'}
@@ -5792,9 +5696,8 @@ packages:
resolution: {integrity: sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==}
engines: {node: '>= 12'}
- ipaddr.js@1.9.1:
- resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==}
- engines: {node: '>= 0.10'}
+ iron-webcrypto@1.2.1:
+ resolution: {integrity: sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==}
is-alphabetical@1.0.4:
resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==}
@@ -6067,11 +5970,6 @@ packages:
canvas:
optional: true
- jsesc@2.5.2:
- resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
- engines: {node: '>=4'}
- hasBin: true
-
jsesc@3.0.2:
resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==}
engines: {node: '>=6'}
@@ -6083,15 +5981,9 @@ packages:
json-parse-even-better-errors@2.3.1:
resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
- json-schema-ref-resolver@1.0.1:
- resolution: {integrity: sha512-EJAj1pgHc1hxF6vo2Z3s69fMjO1INq6eGHXZ8Z6wCQeldCuwxGK9Sxf4/cScGn3FZubCVUehfWtcDM/PLteCQw==}
-
json-schema-traverse@0.4.1:
resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
- json-schema-traverse@1.0.0:
- resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==}
-
json-stable-stringify-without-jsonify@1.0.1:
resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
@@ -6118,6 +6010,10 @@ packages:
keyv@4.5.4:
resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
+ kleur@4.1.5:
+ resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==}
+ engines: {node: '>=6'}
+
klona@2.0.6:
resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==}
engines: {node: '>= 8'}
@@ -6144,9 +6040,6 @@ packages:
resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
engines: {node: '>= 0.8.0'}
- light-my-request@6.3.0:
- resolution: {integrity: sha512-bWTAPJmeWQH5suJNYwG0f5cs0p6ho9e6f1Ppoxv5qMosY+s9Ir2+ZLvvHcgA7VTDop4zl/NCHhOVVqU+kd++Ow==}
-
linkify-it@5.0.0:
resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==}
@@ -6310,6 +6203,11 @@ packages:
engines: {node: '>=4'}
hasBin: true
+ mime@3.0.0:
+ resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==}
+ engines: {node: '>=10.0.0'}
+ hasBin: true
+
mimic-fn@2.1.0:
resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
engines: {node: '>=6'}
@@ -6382,13 +6280,14 @@ packages:
resolution: {integrity: sha512-1FuyEWI5k2HcmhS1HkKnUAQV7yFPfXPht2DnRRGtoiiAAW+ESTbtEXIDpRkwdU+XyrQuwrIym7UkoPKsZ0SyFw==}
hasBin: true
+ mri@1.2.0:
+ resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
+ engines: {node: '>=4'}
+
mrmime@2.0.0:
resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==}
engines: {node: '>=10'}
- ms@2.0.0:
- resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
-
ms@2.1.3:
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
@@ -6400,8 +6299,13 @@ packages:
engines: {node: '>=8', npm: '>=5'}
hasBin: true
- mysql2@3.11.4:
- resolution: {integrity: sha512-Z2o3tY4Z8EvSRDwknaC40MdZ3+m0sKbpnXrShQLdxPrAvcNli7jLrD2Zd2IzsRMw4eK9Yle500FDmlkIqp+krg==}
+ mux.js@7.1.0:
+ resolution: {integrity: sha512-NTxawK/BBELJrYsZThEulyUMDVlLizKdxyAsMuzoCD1eFj97BVaA8D/CvKsKu6FOLYkFojN5CbM9h++ZTZtknA==}
+ engines: {node: '>=8', npm: '>=5'}
+ hasBin: true
+
+ mysql2@3.11.5:
+ resolution: {integrity: sha512-0XFu8rUmFN9vC0ME36iBvCUObftiMHItrYFhlCRvFWbLgpNqtC4Br/NmZX1HNCszxT0GGy5QtP+k3Q3eCJPaYA==}
engines: {node: '>= 8.0'}
named-placeholders@1.1.3:
@@ -6462,8 +6366,8 @@ packages:
nodemailer:
optional: true
- next-intl@3.25.1:
- resolution: {integrity: sha512-Z2dJWn5f/b1sb8EmuJcuDhbQTIp4RG1KBFAILgRt/y27W0ifU7Ll/os3liphUY4InyRH89uShTAk7ItAlpr0uA==}
+ next-intl@3.25.3:
+ resolution: {integrity: sha512-3VQ+OZdU9Z2enx5uWLYfmd/eb/gZN6QIfj59ROE/R+MTSD7ZAOPsGFnKqj5wwqm4EISGviYenkSuxypyYnhomA==}
peerDependencies:
next: ^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0
react: ^16.8.0 || ^17.0.0 || ^18.0.0 || >=19.0.0-rc <19.0.0
@@ -6543,9 +6447,17 @@ packages:
peerDependencies:
webpack: ^5.0.0
- node-mocks-http@1.16.0:
- resolution: {integrity: sha512-jmDjsr87ugnZ4nqBeX8ccMB1Fn04qc5Fz45XgrneJerWGV0VqS+wpu/zVkwv8LDAYHljDy5FzNvRJaOzEW9Dyw==}
+ node-mocks-http@1.16.1:
+ resolution: {integrity: sha512-Q2m5bmIE1KFeeKI6OsSn+c4XDara5NWnUJgzqnIkhiCNukYX+fqu0ADSeKOlpWtbCwgRnJ69F+7RUiQltzTKXA==}
engines: {node: '>=14'}
+ peerDependencies:
+ '@types/express': ^4.17.21 || ^5.0.0
+ '@types/node': '*'
+ peerDependenciesMeta:
+ '@types/express':
+ optional: true
+ '@types/node':
+ optional: true
node-plop@0.26.3:
resolution: {integrity: sha512-Cov028YhBZ5aB7MdMWJEmwyBig43aGL5WT4vdoB28Oitau1zZAcHUn8Sgfk9HM33TqhtLJ9PlM/O0Mv+QpV/4Q==}
@@ -6615,13 +6527,8 @@ packages:
ofetch@1.4.1:
resolution: {integrity: sha512-QZj2DfGplQAr2oj9KzceK9Hwz6Whxazmn85yYeVuS3u9XTMOGMRx0kO95MQ+vLsj/S/NwBDMMLU5hpxvI6Tklw==}
- on-exit-leak-free@2.1.2:
- resolution: {integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==}
- engines: {node: '>=14.0.0'}
-
- on-finished@2.4.1:
- resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==}
- engines: {node: '>= 0.8'}
+ ohash@1.1.4:
+ resolution: {integrity: sha512-FlDryZAahJmEF3VR3w1KogSEdWX3WhA5GPakFx4J81kEAiHyLMpdLLElS8n8dfNadMgAne/MywcvmogzscVt4g==}
once@1.4.0:
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
@@ -6641,8 +6548,8 @@ packages:
resolution: {integrity: sha512-dtyTFKx2xVcO0W8JKaluXIHC9l/MLjHeflBaWjiWNMCHp/TBs9dEjQDbj/VFlHR4omFOKjjmqm1pW1aCAhmPBg==}
engines: {node: '>=12.20.0'}
- openapi-types@12.1.3:
- resolution: {integrity: sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw==}
+ openapi3-ts@4.3.3:
+ resolution: {integrity: sha512-LKkzBGJcZ6wdvkKGMoSvpK+0cbN5Xc3XuYkJskO+vjEQWJgs1kgtyUk0pjf8KwPuysv323Er62F5P17XQl96Qg==}
optionator@0.9.4:
resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
@@ -6739,9 +6646,6 @@ packages:
resolution: {integrity: sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==}
engines: {node: 20 || >=22}
- path-to-regexp@0.1.10:
- resolution: {integrity: sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==}
-
path-type@4.0.0:
resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
engines: {node: '>=8'}
@@ -6753,9 +6657,6 @@ packages:
resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==}
engines: {node: '>= 14.16'}
- performance-now@2.1.0:
- resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==}
-
picocolors@1.0.1:
resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==}
@@ -6770,16 +6671,6 @@ packages:
resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==}
engines: {node: '>=12'}
- pino-abstract-transport@2.0.0:
- resolution: {integrity: sha512-F63x5tizV6WCh4R6RHyi2Ml+M70DNRXt/+HANowMflpgGFMAym/VKm6G7ZOQRjqN7XbGxK1Lg9t6ZrtzOaivMw==}
-
- pino-std-serializers@7.0.0:
- resolution: {integrity: sha512-e906FRY0+tV27iq4juKzSYPbUj2do2X2JX4EzSca1631EB2QJQUqGbDuERal7LCtOpxl6x3+nvo9NPZcmjkiFA==}
-
- pino@9.5.0:
- resolution: {integrity: sha512-xSEmD4pLnV54t0NOUN16yCl7RIB1c5UUOse5HSyEXtBp+FgFQyPeDutc+Q2ZO7/22vImV7VfEjH/1zV2QuqvYw==}
- hasBin: true
-
piscina@4.6.1:
resolution: {integrity: sha512-z30AwWGtQE+Apr+2WBZensP2lIvwoaMcOPkQlIEmSGMJNUvaYACylPYrQM6wSdUNJlnDVMSpLv7xTMJqlVshOA==}
@@ -6787,6 +6678,16 @@ packages:
resolution: {integrity: sha512-afRERtHn54AlwaF2/+LFszyAANTCggGilmcmILUzEjvs3XgFZT+xE6+QWQcAGmu4xajy+Xtj7acLOPdx5/eXWQ==}
hasBin: true
+ playwright-core@1.49.0:
+ resolution: {integrity: sha512-R+3KKTQF3npy5GTiKH/T+kdhoJfJojjHESR1YEWhYuEKRVfVaxH3+4+GvXE5xyCngCxhxnykk0Vlah9v8fs3jA==}
+ engines: {node: '>=18'}
+ hasBin: true
+
+ playwright@1.49.0:
+ resolution: {integrity: sha512-eKpmys0UFDnfNb3vfsf8Vx2LEOtflgRebl0Im2eQQnYMA4Aqd+Zw8bEOB+7ZKvN76901mRnqdsiOGKxzVTbi7A==}
+ engines: {node: '>=18'}
+ hasBin: true
+
possible-typed-array-names@1.0.0:
resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==}
engines: {node: '>= 0.4'}
@@ -6857,8 +6758,8 @@ packages:
resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
engines: {node: '>= 0.8.0'}
- prettier@3.3.3:
- resolution: {integrity: sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==}
+ prettier@3.4.1:
+ resolution: {integrity: sha512-G+YdqtITVZmOJje6QkXQWzl3fSfMxFwm1tjTyo9exhkmWSqC4Yhd1+lug++IlR2mvRVAxEDDWYkQdeSztajqgg==}
engines: {node: '>=14'}
hasBin: true
@@ -6880,9 +6781,6 @@ packages:
process-nextick-args@2.0.1:
resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==}
- process-warning@4.0.0:
- resolution: {integrity: sha512-/MyYDxttz7DfGMMHiysAsFE4qF+pQYAA8ziO/3NcRVrQ5fSk+Mns4QZA/oRPFzvcqNoVJXQNWNAsdwBXLUkQKw==}
-
process@0.11.10:
resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==}
engines: {node: '>= 0.6.0'}
@@ -6955,16 +6853,12 @@ packages:
prosemirror-transform@1.10.2:
resolution: {integrity: sha512-2iUq0wv2iRoJO/zj5mv8uDUriOHWzXRnOTVgCzSXnktS/2iQRa3UUQwVlkBlYZFtygw6Nh1+X4mGqoYBINn5KQ==}
- prosemirror-view@1.36.0:
- resolution: {integrity: sha512-U0GQd5yFvV5qUtT41X1zCQfbw14vkbbKwLlQXhdylEmgpYVHkefXYcC4HHwWOfZa3x6Y8wxDLUBv7dxN5XQ3nA==}
+ prosemirror-view@1.37.0:
+ resolution: {integrity: sha512-z2nkKI1sJzyi7T47Ji/ewBPuIma1RNvQCCYVdV+MqWBV7o4Sa1n94UJCJJ1aQRF/xRkFfyqLGlGFWitIcCOtbg==}
proto-list@1.2.4:
resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==}
- proxy-addr@2.0.7:
- resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==}
- engines: {node: '>= 0.10'}
-
proxy-agent@6.4.0:
resolution: {integrity: sha512-u0piLU+nCOHMgGjRbimiXmA9kM/L9EHh3zL81xCdp7m+Y2pHIsnmbdDoEDoAz5geaonNR6q6+yOPQs6n4T6sBQ==}
engines: {node: '>= 14'}
@@ -6987,8 +6881,8 @@ packages:
resolution: {integrity: sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==}
engines: {node: '>=8'}
- qs@6.13.0:
- resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==}
+ qs@6.13.1:
+ resolution: {integrity: sha512-EJPeIn0CYrGu+hli1xilKAPXODtJ12T0sP63Ijx2/khC2JtuaN3JyNIpvmnkmaEtha9ocbG4A4cMcr+TvqvwQg==}
engines: {node: '>=0.6'}
querystringify@2.2.0:
@@ -7000,8 +6894,8 @@ packages:
queue-tick@1.0.1:
resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==}
- quick-format-unescaped@4.0.4:
- resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==}
+ radix3@1.1.2:
+ resolution: {integrity: sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==}
ramda-adjunct@5.1.0:
resolution: {integrity: sha512-8qCpl2vZBXEJyNbi4zqcgdfHtcdsWjOGbiNSEnEBrM6Y0OKOT8UxJbIVGm1TIcjaSu2MxaWcgtsNlKlCk7o7qg==}
@@ -7113,6 +7007,10 @@ packages:
'@types/react':
optional: true
+ react-scan@0.0.31:
+ resolution: {integrity: sha512-reHgQnASWVXwHe0Ibk/EbsEPZhKrmNRf8EUNDmjMi1lzXec+Cj9litKxD0TG2ghAwg5V4sT0wzhiOgZSIefeVg==}
+ hasBin: true
+
react-simple-code-editor@0.14.1:
resolution: {integrity: sha512-BR5DtNRy+AswWJECyA17qhUDvrrCZ6zXOCfkQY5zSmb96BVUbpVAv03WpcjcwtCwiLbIANx3gebHOcXYn1EHow==}
peerDependencies:
@@ -7134,8 +7032,8 @@ packages:
peerDependencies:
react: '>= 0.14.0'
- react-textarea-autosize@8.5.4:
- resolution: {integrity: sha512-eSSjVtRLcLfFwFcariT77t9hcbVJHQV76b51QjQGarQIHml2+gM2lms0n3XrhnDmgK5B+/Z7TmQk5OHNzqYm/A==}
+ react-textarea-autosize@8.5.5:
+ resolution: {integrity: sha512-CVA94zmfp8m4bSHtWwmANaBR8EPsKy2aZ7KwqhoS4Ftib87F9Kvi7XQhOixypPLMc6kVYgOXvKFuuzZDpHGRPg==}
engines: {node: '>=10'}
peerDependencies:
react: ^16.8.0 || ^17.0.0 || ^18.0.0
@@ -7168,10 +7066,6 @@ packages:
resolution: {integrity: sha512-GkMg9uOTpIWWKbSsgwb5fA4EavTR+SG/PMPoAY8hkhHfEEY0/vqljY+XHqtDf2cr2IJtoNRDbrrEpZUiZCkYRw==}
engines: {node: '>= 14.16.0'}
- real-require@0.2.0:
- resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==}
- engines: {node: '>= 12.13.0'}
-
recast@0.23.9:
resolution: {integrity: sha512-Hx/BGIbwj+Des3+xy5uAtAbdCyqK9y9wbBcDFDYanLS9JnMqf7OeF87HQwUimE87OEc72mr6tkKUKMBBL+hF9Q==}
engines: {node: '>= 4'}
@@ -7237,10 +7131,6 @@ packages:
resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
engines: {node: '>=0.10.0'}
- require-from-string@2.0.2:
- resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==}
- engines: {node: '>=0.10.0'}
-
requires-port@1.0.0:
resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==}
@@ -7270,10 +7160,6 @@ packages:
resolution: {integrity: sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==}
engines: {node: '>=4'}
- ret@0.5.0:
- resolution: {integrity: sha512-I1XxrZSQ+oErkRR4jYbAyEEu2I0avBvvMM5JN+6EBprOGRCs63ENqZ3vjavq8fBw2+62G5LF5XelKwuJpcvcxw==}
- engines: {node: '>=10'}
-
retry@0.12.0:
resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==}
engines: {node: '>= 4'}
@@ -7285,9 +7171,6 @@ packages:
rfc4648@1.5.3:
resolution: {integrity: sha512-MjOWxM065+WswwnmNONOT+bD1nXzY9Km6u3kzvnx8F8/HXGZdz3T6e6vZJ8Q/RIMUSp/nxqjH3GwvJDy8ijeQQ==}
- rfdc@1.4.1:
- resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==}
-
rimraf@3.0.2:
resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
deprecated: Rimraf versions prior to v4 are no longer supported
@@ -7347,9 +7230,6 @@ packages:
resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==}
engines: {node: '>= 0.4'}
- safe-regex2@4.0.0:
- resolution: {integrity: sha512-Hvjfv25jPDVr3U+4LDzBuZPPOymELG3PYcSk5hcevooo1yxxamQL/bHs/GrEPGmMoMEwRrHVGiCA1pXi97B8Ew==}
-
safe-stable-stringify@2.5.0:
resolution: {integrity: sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==}
engines: {node: '>=10'}
@@ -7376,9 +7256,6 @@ packages:
resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==}
engines: {node: '>= 10.13.0'}
- secure-json-parse@2.7.0:
- resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==}
-
semver-diff@3.1.1:
resolution: {integrity: sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==}
engines: {node: '>=8'}
@@ -7397,10 +7274,6 @@ packages:
engines: {node: '>=10'}
hasBin: true
- send@0.19.0:
- resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==}
- engines: {node: '>= 0.8.0'}
-
sentence-case@2.1.1:
resolution: {integrity: sha512-ENl7cYHaK/Ktwk5OTD+aDbQ3uC8IByu/6Bkg+HDv8Mm+XnBnppVNalcfJTNsp1ibstKh030/JKQQWglDvtKwEQ==}
@@ -7414,16 +7287,9 @@ packages:
serialize-javascript@6.0.2:
resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==}
- serve-static@1.16.2:
- resolution: {integrity: sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==}
- engines: {node: '>= 0.8.0'}
-
set-blocking@2.0.0:
resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==}
- set-cookie-parser@2.7.1:
- resolution: {integrity: sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==}
-
set-function-length@1.2.2:
resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==}
engines: {node: '>= 0.4'}
@@ -7495,6 +7361,9 @@ packages:
snake-case@2.1.0:
resolution: {integrity: sha512-FMR5YoPFwOLuh4rRz92dywJjyKYZNLpMn1R5ujVpIYkbA9p01fq8RMg0FkO4M+Yobt4MjHeLTJVm5xFFBHSV2Q==}
+ socket.io-adapter@2.5.5:
+ resolution: {integrity: sha512-eLDQas5dzPgOWCk9GuuJC2lBqItuhKI4uxGgo9aIV7MYbk2h9Q6uULEh8WBzThoI7l+qU9Ast9fVUmkqPP9wYg==}
+
socket.io-client@4.7.5:
resolution: {integrity: sha512-sJ/tqHOCe7Z50JCBCXrsY3I2k03iOiUe+tj1OmKeD2lXPiGH/RUCdTZFoqVyN7l1MnpIzPrGtLcijffmeouNlQ==}
engines: {node: '>=10.0.0'}
@@ -7503,6 +7372,10 @@ packages:
resolution: {integrity: sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==}
engines: {node: '>=10.0.0'}
+ socket.io@4.8.1:
+ resolution: {integrity: sha512-oZ7iUCxph8WYRHHcjBEc9unw3adt5CmSNlppj/5Q4k2RIrhl8Z5yY2Xr4j9zj0+wzVZ0bxmYoGSzKJnRl6A4yg==}
+ engines: {node: '>=10.2.0'}
+
socks-proxy-agent@8.0.4:
resolution: {integrity: sha512-GNAq/eg8Udq2x0eNiFkr9gRg5bA7PXEWagQdeRX4cPSG+X/8V38v637gim9bjFptMk1QWsCTr0ttrJEiXbNnRw==}
engines: {node: '>= 14'}
@@ -7511,9 +7384,6 @@ packages:
resolution: {integrity: sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==}
engines: {node: '>= 10.0.0', npm: '>= 3.0.0'}
- sonic-boom@4.2.0:
- resolution: {integrity: sha512-INb7TM37/mAcsGmc9hyyI6+QR3rR1zVRu36B0NeGXKnOOLiZOfER5SA+N7X7k3yUYRzLWafduTDvJAfDswwEww==}
-
source-map-js@1.2.1:
resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
engines: {node: '>=0.10.0'}
@@ -7531,10 +7401,6 @@ packages:
split-ca@1.0.1:
resolution: {integrity: sha512-Q5thBSxp5t8WPTTJQS59LrGqOZqOsrhDGDVm8azCqIBjSBd7nd9o2PM+mDulQQkh8h//4U6hFZnc/mul8t5pWQ==}
- split2@4.2.0:
- resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==}
- engines: {node: '>= 10.x'}
-
sprintf-js@1.0.3:
resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
@@ -7759,9 +7625,6 @@ packages:
text-hex@1.0.0:
resolution: {integrity: sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==}
- thread-stream@3.1.0:
- resolution: {integrity: sha512-OqyPZ9u96VohAyMfJykzmivOrY2wfMSf3C5TtFJVgN+Hm6aj+voFhlK+kZEIv2FBh1X6Xp3DlnCOfEQ3B2J86A==}
-
through@2.3.8:
resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==}
@@ -7802,11 +7665,11 @@ packages:
title-case@2.1.1:
resolution: {integrity: sha512-EkJoZ2O3zdCz3zJsYCsxyq2OC5hrxR9mfdd5I+w8h/tmFfeOxJ+vvkxsKxdmN0WtS9zLdHEgfgVOiMVgv+Po4Q==}
- tldts-core@6.1.63:
- resolution: {integrity: sha512-H1XCt54xY+QPbwhTgmxLkepX0MVHu3USfMmejiCOdkMbRcP22Pn2FVF127r/GWXVDmXTRezyF3Ckvhn4Fs6j7Q==}
+ tldts-core@6.1.64:
+ resolution: {integrity: sha512-uqnl8vGV16KsyflHOzqrYjjArjfXaU6rMPXYy2/ZWoRKCkXtghgB4VwTDXUG+t0OTGeSewNAG31/x1gCTfLt+Q==}
- tldts@6.1.63:
- resolution: {integrity: sha512-YWwhsjyn9sB/1rOkSRYxvkN/wl5LFM1QDv6F2pVR+pb/jFne4EOBxHfkKVWvDIBEAw9iGOwwubHtQTm0WRT5sQ==}
+ tldts@6.1.64:
+ resolution: {integrity: sha512-ph4AE5BXWIOsSy9stpoeo7bYe/Cy7VfpciIH4RhVZUPItCJmhqWCN0EVzxd8BOHiyNb42vuJc6NWTjJkg91Tuw==}
hasBin: true
tmp@0.0.33:
@@ -7817,18 +7680,10 @@ packages:
resolution: {integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==}
engines: {node: '>=14.14'}
- to-fast-properties@2.0.0:
- resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
- engines: {node: '>=4'}
-
to-regex-range@5.0.1:
resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
engines: {node: '>=8.0'}
- toad-cache@3.7.0:
- resolution: {integrity: sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==}
- engines: {node: '>=12'}
-
toggle-selection@1.0.6:
resolution: {integrity: sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==}
@@ -7868,12 +7723,11 @@ packages:
resolution: {integrity: sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==}
engines: {node: '>= 14.0.0'}
- trpc-swagger@1.2.6:
- resolution: {integrity: sha512-LVh2NicwYZdaUEvshY9IF1oL02z9PWjltY0CwTslHw4mi4DcSAP4bx/FPfp5+371oj75vujjNbOjGG9grNl3Xg==}
+ trpc-to-openapi@2.0.2:
+ resolution: {integrity: sha512-uuBkemnf9SY0mRv/wo0BBogdaoReOEg4zk8CSu95yUVgl/DxtDs+Ie02XGcGr1fCYKiyrfJbhRAo2wBbWV0POg==}
peerDependencies:
- '@trpc/client': ^10.45.2
- '@trpc/server': ^10.45.2
- zod: ^3.14.4
+ '@trpc/server': ^11.0.0-rc.566
+ zod: ^3.23.8
ts-api-utils@1.3.0:
resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==}
@@ -7932,38 +7786,38 @@ packages:
tunnel-agent@0.6.0:
resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==}
- turbo-darwin-64@2.3.1:
- resolution: {integrity: sha512-tjHfjW/Gs8Q9IO+9gPdIsSStZ8I09QYDRT/SyhFTPLnc7O2ZlxHPBVFfjUkHUjanHNYO8CpRGt+zdp1PaMCruw==}
+ turbo-darwin-64@2.3.3:
+ resolution: {integrity: sha512-bxX82xe6du/3rPmm4aCC5RdEilIN99VUld4HkFQuw+mvFg6darNBuQxyWSHZTtc25XgYjQrjsV05888w1grpaA==}
cpu: [x64]
os: [darwin]
- turbo-darwin-arm64@2.3.1:
- resolution: {integrity: sha512-At1WStnxCfrBQ4M2g6ynre8WsusGwA11okhVolBxyFUemYozDTtbZwelr+IqNggjT251vviokxOkcFzzogbiFw==}
+ turbo-darwin-arm64@2.3.3:
+ resolution: {integrity: sha512-DYbQwa3NsAuWkCUYVzfOUBbSUBVQzH5HWUFy2Kgi3fGjIWVZOFk86ss+xsWu//rlEAfYwEmopigsPYSmW4X15A==}
cpu: [arm64]
os: [darwin]
- turbo-linux-64@2.3.1:
- resolution: {integrity: sha512-COwEev7s9fsxLM2eoRCyRLPj+BXvZjFIS+GxzdAubYhoSoZit8B8QGKczyDl6448xhuFEWKrpHhcR9aBuwB4ag==}
+ turbo-linux-64@2.3.3:
+ resolution: {integrity: sha512-eHj9OIB0dFaP6BxB88jSuaCLsOQSYWBgmhy2ErCu6D2GG6xW3b6e2UWHl/1Ho9FsTg4uVgo4DB9wGsKa5erjUA==}
cpu: [x64]
os: [linux]
- turbo-linux-arm64@2.3.1:
- resolution: {integrity: sha512-AP0uE15Rhxza2Jl+Q3gxdXRA92IIeFAYaufz6CMcZuGy9yZsBlLt9w6T47H6g7XQPzWuw8pzfjM1omcTKkkDpQ==}
+ turbo-linux-arm64@2.3.3:
+ resolution: {integrity: sha512-NmDE/NjZoDj1UWBhMtOPmqFLEBKhzGS61KObfrDEbXvU3lekwHeoPvAMfcovzswzch+kN2DrtbNIlz+/rp8OCg==}
cpu: [arm64]
os: [linux]
- turbo-windows-64@2.3.1:
- resolution: {integrity: sha512-HDSneq0dNZYZch74c2eygq+OiJE/JYDs7OsGM0yRYVj336383xkUnxz6W2I7qiyMCQXzp4UVUDZXvZhUYcX3BA==}
+ turbo-windows-64@2.3.3:
+ resolution: {integrity: sha512-O2+BS4QqjK3dOERscXqv7N2GXNcqHr9hXumkMxDj/oGx9oCatIwnnwx34UmzodloSnJpgSqjl8iRWiY65SmYoQ==}
cpu: [x64]
os: [win32]
- turbo-windows-arm64@2.3.1:
- resolution: {integrity: sha512-7/2/sJZiquwoT/jWBCfV0qKq4NarsJPmDRjMcR9dDMIwCYsGM8ljomkDRTCtkNeFcUvYw54MiRWHehWgbcRPsw==}
+ turbo-windows-arm64@2.3.3:
+ resolution: {integrity: sha512-dW4ZK1r6XLPNYLIKjC4o87HxYidtRRcBeo/hZ9Wng2XM/MqqYkAyzJXJGgRMsc0MMEN9z4+ZIfnSNBrA0b08ag==}
cpu: [arm64]
os: [win32]
- turbo@2.3.1:
- resolution: {integrity: sha512-vHZe/e6k1HZVKiMQPQ1BWFn53vjVQDFKdkjUq/pBKlRWi1gw9LQO6ntH4qZCcHY1rH6TXgsRmexXdgWl96YvVQ==}
+ turbo@2.3.3:
+ resolution: {integrity: sha512-DUHWQAcC8BTiUZDRzAYGvpSpGLiaOQPfYXlCieQbwUvmml/LRGIe3raKdrOPOoiX0DYlzxs2nH6BoWJoZrj8hA==}
hasBin: true
tweetnacl@0.14.5:
@@ -7981,8 +7835,8 @@ packages:
resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==}
engines: {node: '>=10'}
- type-fest@4.26.1:
- resolution: {integrity: sha512-yOGpmOAL7CkKe/91I5O3gPICmJNLJ1G4zFYVAsRHg7M64biSnPtRj0WNQt++bRkjYOqjWXrhnUw1utzmVErAdg==}
+ type-fest@4.28.0:
+ resolution: {integrity: sha512-jXMwges/FVbFRe5lTMJZVEZCrO9kI9c8k0PA/z7nF3bo0JSCCLysvokFjNPIUK/itEMas10MQM+AiHoHt/T/XA==}
engines: {node: '>=16'}
type-is@1.6.18:
@@ -8011,8 +7865,8 @@ packages:
types-ramda@0.30.1:
resolution: {integrity: sha512-1HTsf5/QVRmLzcGfldPFvkVsAdi1db1BBKzi7iW3KBUlOICg/nKnFS+jGqDJS3YD8VsWbAh7JiHeBvbsw8RPxA==}
- typescript-eslint@8.15.0:
- resolution: {integrity: sha512-wY4FRGl0ZI+ZU4Jo/yjdBu0lVTSML58pu6PgGtJmCufvzfV565pUF6iACQt092uFOd49iLOTX/sEVmHtbSrS+w==}
+ typescript-eslint@8.16.0:
+ resolution: {integrity: sha512-wDkVmlY6O2do4V+lZd0GtRfbtXbeD0q9WygwXXSJnC1xorE8eqyC2L1tJimqpSeFrOzRlYtWnUp/uzgHQOgfBQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies:
eslint: ^8.57.0 || ^9.0.0
@@ -8021,8 +7875,8 @@ packages:
typescript:
optional: true
- typescript@5.6.3:
- resolution: {integrity: sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==}
+ typescript@5.7.2:
+ resolution: {integrity: sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==}
engines: {node: '>=14.17'}
hasBin: true
@@ -8044,19 +7898,25 @@ packages:
unbox-primitive@1.0.2:
resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==}
+ uncrypto@0.1.3:
+ resolution: {integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==}
+
undici-types@5.26.5:
resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
- undici-types@6.19.8:
- resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==}
+ undici-types@6.20.0:
+ resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==}
undici@5.28.4:
resolution: {integrity: sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==}
engines: {node: '>=14.0'}
- undici@6.21.0:
- resolution: {integrity: sha512-BUgJXc752Kou3oOIuU1i+yZZypyZRqNPW0vqoMPl8VaoalSfeR0D8/t4iAS3yirs79SSMTxTag+ZC86uswv+Cw==}
- engines: {node: '>=18.17'}
+ undici@7.0.0:
+ resolution: {integrity: sha512-c4xi3kWnQJrb7h2q8aJYKvUzmz7boCgz1cUCC6OwdeM5Tr2P0hDuthr2iut4ggqsz+Cnh20U/LoTzbKIdDS/Nw==}
+ engines: {node: '>=20.18.1'}
+
+ unenv@1.10.0:
+ resolution: {integrity: sha512-wY5bskBQFL9n3Eca5XnhH6KbUo/tfvkwm9OpcdCvLaeA7piBNbavbOKJySEwQ1V0RH6HvNlSAFRTpvTqgKRQXQ==}
unique-string@2.0.0:
resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==}
@@ -8082,12 +7942,6 @@ packages:
unraw@3.0.0:
resolution: {integrity: sha512-08/DA66UF65OlpUDIQtbJyrqTR0jTAlJ+jsnkQ4jxR7+K5g5YG1APZKQSMCE1vqqmD+2pv6+IdEjmopFatacvg==}
- update-browserslist-db@1.1.0:
- resolution: {integrity: sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==}
- hasBin: true
- peerDependencies:
- browserslist: '>= 4.21.0'
-
update-browserslist-db@1.1.1:
resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==}
hasBin: true
@@ -8137,8 +7991,8 @@ packages:
peerDependencies:
react: '>=16.13'
- use-intl@3.25.1:
- resolution: {integrity: sha512-Xeyl0+BjlBf6fJr2h5W/CESZ2IQAH7jzXYK4c/ao+qR26jNPW3FXBLjg7eLRxdeI6QaLcYGLtH3WYhC9I0+6Yg==}
+ use-intl@3.25.3:
+ resolution: {integrity: sha512-zF+GHRx7auT1qpmiPMN+RnzSad6W5ZjhOpgC5Li/TByqCkMs4SP3xcd8C0jWxT8YI8Ucl518bnkS+gvKIvrXjw==}
peerDependencies:
react: ^16.8.0 || ^17.0.0 || ^18.0.0 || >=19.0.0-rc <19.0.0
@@ -8178,10 +8032,6 @@ packages:
util-deprecate@1.0.2:
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
- utils-merge@1.0.1:
- resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==}
- engines: {node: '>= 0.4.0'}
-
uuid@10.0.0:
resolution: {integrity: sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==}
hasBin: true
@@ -8190,10 +8040,6 @@ packages:
resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==}
hasBin: true
- uuid@9.0.1:
- resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==}
- hasBin: true
-
v8-compile-cache-lib@3.0.1:
resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==}
@@ -8205,8 +8051,8 @@ packages:
resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}
engines: {node: '>= 0.8'}
- video.js@8.19.1:
- resolution: {integrity: sha512-MVuayhXpzTBv5Jk3nYEU2akawPhuBBlizEbpQGx2i+6FiBmqxGjkrkLdDLOzG54ut7xapjp26IfWQLGSpeLmcQ==}
+ video.js@8.20.0:
+ resolution: {integrity: sha512-VyXY/DbtfaI22gpWJdo8bmTcpPRfKg0SeQJBusRdIJF1RMI+er1BHpRreg67s5Qfd9ZeSbfKShUOwaxRft/tBw==}
videojs-contrib-quality-levels@4.1.0:
resolution: {integrity: sha512-TfrXJJg1Bv4t6TOCMEVMwF/CoS8iENYsWNKip8zfhB5kTcegiFYezEA0eHAJPU64ZC8NQbxQgOwAsYU8VXbOWA==}
@@ -8220,9 +8066,9 @@ packages:
videojs-vtt.js@0.15.5:
resolution: {integrity: sha512-yZbBxvA7QMYn15Lr/ZfhhLPrNpI/RmCSCqgIff57GC2gIrV5YfyzLfLyZMj0NnZSAz8syB4N0nHXpZg9MyrMOQ==}
- vite-node@2.1.5:
- resolution: {integrity: sha512-rd0QIgx74q4S1Rd56XIiL2cYEdyWn13cunYBIuqh9mpmQr7gGS0IxXoP8R6OaZtNQQLyXSWbd4rXKYUbhFpK5w==}
- engines: {node: ^18.0.0 || >=20.0.0}
+ vite-node@2.1.6:
+ resolution: {integrity: sha512-DBfJY0n9JUwnyLxPSSUmEePT21j8JZp/sR9n+/gBwQU6DcQOioPdb8/pibWfXForbirSagZCilseYIwaL3f95A==}
+ engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
hasBin: true
vite-tsconfig-paths@5.1.3:
@@ -8264,15 +8110,15 @@ packages:
terser:
optional: true
- vitest@2.1.5:
- resolution: {integrity: sha512-P4ljsdpuzRTPI/kbND2sDZ4VmieerR2c9szEZpjc+98Z9ebvnXmM5+0tHEKqYZumXqlvnmfWsjeFOjXVriDG7A==}
- engines: {node: ^18.0.0 || >=20.0.0}
+ vitest@2.1.6:
+ resolution: {integrity: sha512-isUCkvPL30J4c5O5hgONeFRsDmlw6kzFEdLQHLezmDdKQHy8Ke/B/dgdTMEgU0vm+iZ0TjW8GuK83DiahBoKWQ==}
+ engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
hasBin: true
peerDependencies:
'@edge-runtime/vm': '*'
- '@types/node': ^18.0.0 || >=20.0.0
- '@vitest/browser': 2.1.5
- '@vitest/ui': 2.1.5
+ '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0
+ '@vitest/browser': 2.1.6
+ '@vitest/ui': 2.1.6
happy-dom: '*'
jsdom: '*'
peerDependenciesMeta:
@@ -8520,10 +8366,11 @@ packages:
peerDependencies:
zod: '>= 3.11.0'
- zod-to-json-schema@3.23.3:
- resolution: {integrity: sha512-TYWChTxKQbRJp5ST22o/Irt9KC5nj7CdBKYB/AosCRdj/wxEMvv4NNaj9XVUHDOIp53ZxArGhnw5HMZziPFjog==}
+ zod-openapi@2.19.0:
+ resolution: {integrity: sha512-OUAAyBDPPwZ9u61i4k/LieXUzP2re8kFjqdNh2AvHjsyi/aRNz9leDAtMGcSoSzUT5xUeQoACJufBI6FzzZyxA==}
+ engines: {node: '>=16.11'}
peerDependencies:
- zod: ^3.23.3
+ zod: ^3.21.4
zod@3.23.8:
resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==}
@@ -8568,41 +8415,14 @@ snapshots:
fetch-retry: 6.0.0
uuid: 8.3.2
- '@babel/code-frame@7.24.7':
- dependencies:
- '@babel/highlight': 7.24.7
- picocolors: 1.1.0
-
'@babel/code-frame@7.26.2':
dependencies:
'@babel/helper-validator-identifier': 7.25.9
js-tokens: 4.0.0
picocolors: 1.1.0
- '@babel/compat-data@7.25.4': {}
-
'@babel/compat-data@7.26.2': {}
- '@babel/core@7.25.2':
- dependencies:
- '@ampproject/remapping': 2.3.0
- '@babel/code-frame': 7.24.7
- '@babel/generator': 7.25.6
- '@babel/helper-compilation-targets': 7.25.2
- '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2)
- '@babel/helpers': 7.25.6
- '@babel/parser': 7.25.6
- '@babel/template': 7.25.0
- '@babel/traverse': 7.25.6
- '@babel/types': 7.26.0
- convert-source-map: 2.0.0
- debug: 4.3.7
- gensync: 1.0.0-beta.2
- json5: 2.2.3
- semver: 6.3.1
- transitivePeerDependencies:
- - supports-color
-
'@babel/core@7.26.0':
dependencies:
'@ampproject/remapping': 2.3.0
@@ -8623,13 +8443,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/generator@7.25.6':
- dependencies:
- '@babel/types': 7.26.0
- '@jridgewell/gen-mapping': 0.3.5
- '@jridgewell/trace-mapping': 0.3.25
- jsesc: 2.5.2
-
'@babel/generator@7.26.2':
dependencies:
'@babel/parser': 7.26.2
@@ -8638,14 +8451,6 @@ snapshots:
'@jridgewell/trace-mapping': 0.3.25
jsesc: 3.0.2
- '@babel/helper-compilation-targets@7.25.2':
- dependencies:
- '@babel/compat-data': 7.25.4
- '@babel/helper-validator-option': 7.24.8
- browserslist: 4.23.3
- lru-cache: 5.1.1
- semver: 6.3.1
-
'@babel/helper-compilation-targets@7.25.9':
dependencies:
'@babel/compat-data': 7.26.2
@@ -8654,13 +8459,6 @@ snapshots:
lru-cache: 5.1.1
semver: 6.3.1
- '@babel/helper-module-imports@7.24.7':
- dependencies:
- '@babel/traverse': 7.25.9
- '@babel/types': 7.26.0
- transitivePeerDependencies:
- - supports-color
-
'@babel/helper-module-imports@7.25.9':
dependencies:
'@babel/traverse': 7.25.9
@@ -8668,16 +8466,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/helper-module-transforms@7.25.2(@babel/core@7.25.2)':
- dependencies:
- '@babel/core': 7.25.2
- '@babel/helper-module-imports': 7.24.7
- '@babel/helper-simple-access': 7.24.7
- '@babel/helper-validator-identifier': 7.25.9
- '@babel/traverse': 7.25.9
- transitivePeerDependencies:
- - supports-color
-
'@babel/helper-module-transforms@7.26.0(@babel/core@7.26.0)':
dependencies:
'@babel/core': 7.26.0
@@ -8687,57 +8475,32 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/helper-plugin-utils@7.24.8': {}
-
- '@babel/helper-simple-access@7.24.7':
- dependencies:
- '@babel/traverse': 7.25.9
- '@babel/types': 7.26.0
- transitivePeerDependencies:
- - supports-color
+ '@babel/helper-plugin-utils@7.25.9': {}
'@babel/helper-string-parser@7.25.9': {}
'@babel/helper-validator-identifier@7.25.9': {}
- '@babel/helper-validator-option@7.24.8': {}
-
'@babel/helper-validator-option@7.25.9': {}
- '@babel/helpers@7.25.6':
- dependencies:
- '@babel/template': 7.25.9
- '@babel/types': 7.26.0
-
'@babel/helpers@7.26.0':
dependencies:
'@babel/template': 7.25.9
'@babel/types': 7.26.0
- '@babel/highlight@7.24.7':
- dependencies:
- '@babel/helper-validator-identifier': 7.25.9
- chalk: 2.4.2
- js-tokens: 4.0.0
- picocolors: 1.1.0
-
- '@babel/parser@7.25.6':
- dependencies:
- '@babel/types': 7.26.0
-
'@babel/parser@7.26.2':
dependencies:
'@babel/types': 7.26.0
- '@babel/plugin-transform-react-jsx-self@7.24.7(@babel/core@7.25.2)':
+ '@babel/plugin-transform-react-jsx-self@7.25.9(@babel/core@7.26.0)':
dependencies:
- '@babel/core': 7.25.2
- '@babel/helper-plugin-utils': 7.24.8
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
- '@babel/plugin-transform-react-jsx-source@7.24.7(@babel/core@7.25.2)':
+ '@babel/plugin-transform-react-jsx-source@7.25.9(@babel/core@7.26.0)':
dependencies:
- '@babel/core': 7.25.2
- '@babel/helper-plugin-utils': 7.24.8
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
'@babel/runtime-corejs3@7.25.6':
dependencies:
@@ -8748,30 +8511,12 @@ snapshots:
dependencies:
regenerator-runtime: 0.14.1
- '@babel/template@7.25.0':
- dependencies:
- '@babel/code-frame': 7.26.2
- '@babel/parser': 7.26.2
- '@babel/types': 7.26.0
-
'@babel/template@7.25.9':
dependencies:
'@babel/code-frame': 7.26.2
'@babel/parser': 7.26.2
'@babel/types': 7.26.0
- '@babel/traverse@7.25.6':
- 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
- debug: 4.3.7
- globals: 11.12.0
- transitivePeerDependencies:
- - supports-color
-
'@babel/traverse@7.25.9':
dependencies:
'@babel/code-frame': 7.26.2
@@ -8784,12 +8529,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/types@7.25.2':
- dependencies:
- '@babel/helper-string-parser': 7.25.9
- '@babel/helper-validator-identifier': 7.25.9
- to-fast-properties: 2.0.0
-
'@babel/types@7.26.0':
dependencies:
'@babel/helper-string-parser': 7.25.9
@@ -8801,14 +8540,20 @@ snapshots:
'@braintree/sanitize-url@7.0.4': {}
- '@clack/core@0.3.4':
+ '@clack/core@0.3.5':
dependencies:
picocolors: 1.1.0
sisteransi: 1.0.5
'@clack/prompts@0.7.0':
dependencies:
- '@clack/core': 0.3.4
+ '@clack/core': 0.3.5
+ picocolors: 1.1.0
+ sisteransi: 1.0.5
+
+ '@clack/prompts@0.8.2':
+ dependencies:
+ '@clack/core': 0.3.5
picocolors: 1.1.0
sisteransi: 1.0.5
@@ -8864,22 +8609,22 @@ snapshots:
enabled: 2.0.0
kuler: 2.0.0
- '@dnd-kit/accessibility@3.1.0(react@18.3.1)':
+ '@dnd-kit/accessibility@3.1.1(react@18.3.1)':
dependencies:
react: 18.3.1
tslib: 2.7.0
- '@dnd-kit/core@6.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@dnd-kit/core@6.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
- '@dnd-kit/accessibility': 3.1.0(react@18.3.1)
+ '@dnd-kit/accessibility': 3.1.1(react@18.3.1)
'@dnd-kit/utilities': 3.2.2(react@18.3.1)
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
tslib: 2.7.0
- '@dnd-kit/sortable@8.0.0(@dnd-kit/core@6.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)':
+ '@dnd-kit/sortable@9.0.0(@dnd-kit/core@6.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)':
dependencies:
- '@dnd-kit/core': 6.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@dnd-kit/core': 6.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@dnd-kit/utilities': 3.2.2(react@18.3.1)
react: 18.3.1
tslib: 2.7.0
@@ -9296,28 +9041,8 @@ snapshots:
transitivePeerDependencies:
- encoding
- '@fastify/ajv-compiler@4.0.1':
- dependencies:
- ajv: 8.17.1
- ajv-formats: 3.0.1(ajv@8.17.1)
- fast-uri: 3.0.3
- optional: true
-
'@fastify/busboy@2.1.1': {}
- '@fastify/error@4.0.0':
- optional: true
-
- '@fastify/fast-json-stringify-compiler@5.0.1':
- dependencies:
- fast-json-stringify: 6.0.0
- optional: true
-
- '@fastify/merge-json-schemas@0.1.1':
- dependencies:
- fast-deep-equal: 3.1.3
- optional: true
-
'@floating-ui/core@1.6.8':
dependencies:
'@floating-ui/utils': 0.2.8
@@ -9333,7 +9058,7 @@ snapshots:
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
- '@floating-ui/react@0.26.27(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@floating-ui/react@0.26.28(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
'@floating-ui/react-dom': 2.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@floating-ui/utils': 0.2.8
@@ -9389,13 +9114,13 @@ snapshots:
'@humanwhocodes/retry@0.4.1': {}
- '@ianvs/prettier-plugin-sort-imports@4.4.0(prettier@3.3.3)':
+ '@ianvs/prettier-plugin-sort-imports@4.4.0(prettier@3.4.1)':
dependencies:
'@babel/generator': 7.26.2
'@babel/parser': 7.26.2
'@babel/traverse': 7.25.9
'@babel/types': 7.26.0
- prettier: 3.3.3
+ prettier: 3.4.1
semver: 7.6.3
transitivePeerDependencies:
- supports-color
@@ -9455,77 +9180,77 @@ snapshots:
js-base64: 3.7.7
optional: true
- '@mantine/colors-generator@7.14.1(chroma-js@3.1.2)':
+ '@mantine/colors-generator@7.14.3(chroma-js@3.1.2)':
dependencies:
chroma-js: 3.1.2
- '@mantine/core@7.14.1(@mantine/hooks@7.14.1(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@mantine/core@7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
- '@floating-ui/react': 0.26.27(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@mantine/hooks': 7.14.1(react@18.3.1)
+ '@floating-ui/react': 0.26.28(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@mantine/hooks': 7.14.3(react@18.3.1)
clsx: 2.1.1
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
react-number-format: 5.4.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
react-remove-scroll: 2.6.0(@types/react@18.3.12)(react@18.3.1)
- react-textarea-autosize: 8.5.4(@types/react@18.3.12)(react@18.3.1)
- type-fest: 4.26.1
+ react-textarea-autosize: 8.5.5(@types/react@18.3.12)(react@18.3.1)
+ type-fest: 4.28.0
transitivePeerDependencies:
- '@types/react'
- '@mantine/dates@7.14.1(@mantine/core@7.14.1(@mantine/hooks@7.14.1(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.1(react@18.3.1))(dayjs@1.11.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@mantine/dates@7.14.3(@mantine/core@7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.3(react@18.3.1))(dayjs@1.11.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
- '@mantine/core': 7.14.1(@mantine/hooks@7.14.1(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@mantine/hooks': 7.14.1(react@18.3.1)
+ '@mantine/core': 7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@mantine/hooks': 7.14.3(react@18.3.1)
clsx: 2.1.1
dayjs: 1.11.13
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
- '@mantine/form@7.14.1(react@18.3.1)':
+ '@mantine/form@7.14.3(react@18.3.1)':
dependencies:
fast-deep-equal: 3.1.3
klona: 2.0.6
react: 18.3.1
- '@mantine/hooks@7.14.1(react@18.3.1)':
+ '@mantine/hooks@7.14.3(react@18.3.1)':
dependencies:
react: 18.3.1
- '@mantine/modals@7.14.1(@mantine/core@7.14.1(@mantine/hooks@7.14.1(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.1(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@mantine/modals@7.14.3(@mantine/core@7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.3(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
- '@mantine/core': 7.14.1(@mantine/hooks@7.14.1(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@mantine/hooks': 7.14.1(react@18.3.1)
+ '@mantine/core': 7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@mantine/hooks': 7.14.3(react@18.3.1)
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
- '@mantine/notifications@7.14.1(@mantine/core@7.14.1(@mantine/hooks@7.14.1(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.1(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@mantine/notifications@7.14.3(@mantine/core@7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.3(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
- '@mantine/core': 7.14.1(@mantine/hooks@7.14.1(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@mantine/hooks': 7.14.1(react@18.3.1)
- '@mantine/store': 7.14.1(react@18.3.1)
+ '@mantine/core': 7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@mantine/hooks': 7.14.3(react@18.3.1)
+ '@mantine/store': 7.14.3(react@18.3.1)
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
react-transition-group: 4.4.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@mantine/spotlight@7.14.1(@mantine/core@7.14.1(@mantine/hooks@7.14.1(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.1(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@mantine/spotlight@7.14.3(@mantine/core@7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.3(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
- '@mantine/core': 7.14.1(@mantine/hooks@7.14.1(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@mantine/hooks': 7.14.1(react@18.3.1)
- '@mantine/store': 7.14.1(react@18.3.1)
+ '@mantine/core': 7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@mantine/hooks': 7.14.3(react@18.3.1)
+ '@mantine/store': 7.14.3(react@18.3.1)
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
- '@mantine/store@7.14.1(react@18.3.1)':
+ '@mantine/store@7.14.3(react@18.3.1)':
dependencies:
react: 18.3.1
- '@mantine/tiptap@7.14.1(@mantine/core@7.14.1(@mantine/hooks@7.14.1(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.1(react@18.3.1))(@tiptap/extension-link@2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))(@tiptap/pm@2.10.2))(@tiptap/react@2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))(@tiptap/pm@2.10.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@mantine/tiptap@7.14.3(@mantine/core@7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.3(react@18.3.1))(@tiptap/extension-link@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3))(@tiptap/react@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
- '@mantine/core': 7.14.1(@mantine/hooks@7.14.1(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@mantine/hooks': 7.14.1(react@18.3.1)
- '@tiptap/extension-link': 2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))(@tiptap/pm@2.10.2)
- '@tiptap/react': 2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))(@tiptap/pm@2.10.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@mantine/core': 7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@mantine/hooks': 7.14.3(react@18.3.1)
+ '@tiptap/extension-link': 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3)
+ '@tiptap/react': 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
@@ -9544,12 +9269,12 @@ snapshots:
- encoding
- supports-color
- '@million/install@1.0.12':
+ '@million/install@1.0.13':
dependencies:
'@antfu/ni': 0.21.12
'@axiomhq/js': 1.0.0-rc.3
'@babel/parser': 7.26.2
- '@babel/types': 7.25.2
+ '@babel/types': 7.26.0
'@clack/prompts': 0.7.0
ast-types: 0.14.2
cli-high: 0.4.2
@@ -9559,13 +9284,13 @@ snapshots:
recast: 0.23.9
xycolors: 0.1.2
- '@million/lint@1.0.12(rollup@4.21.3)(webpack-sources@3.2.3)':
+ '@million/lint@1.0.13(rollup@4.21.3)(webpack-sources@3.2.3)':
dependencies:
'@axiomhq/js': 1.0.0-rc.3
'@babel/core': 7.26.0
'@babel/types': 7.26.0
'@hono/node-server': 1.13.0(hono@4.6.1)
- '@million/install': 1.0.12
+ '@million/install': 1.0.13
'@rollup/pluginutils': 5.1.0(rollup@4.21.3)
'@rrweb/types': 2.0.0-alpha.16
babel-plugin-syntax-hermes-parser: 0.21.1
@@ -9575,13 +9300,16 @@ snapshots:
hono: 4.6.1
isomorphic-fetch: 3.0.0
nanoid: 5.0.7
+ ohash: 1.1.4
pako: 2.1.0
pathe: 1.1.2
piscina: 4.6.1
pretty-ms: 8.0.0
+ react-scan: 0.0.31
rrweb: 2.0.0-alpha.4
rrweb-player: 1.0.0-alpha.4
semver: 7.6.3
+ socket.io: 4.8.1
socket.io-client: 4.7.5
tmp: 0.2.3
unplugin: 1.14.1(webpack-sources@3.2.3)
@@ -10130,49 +9858,49 @@ snapshots:
'@swc/counter': 0.1.3
tslib: 2.7.0
- '@t3-oss/env-core@0.11.1(typescript@5.6.3)(zod@3.23.8)':
+ '@t3-oss/env-core@0.11.1(typescript@5.7.2)(zod@3.23.8)':
dependencies:
zod: 3.23.8
optionalDependencies:
- typescript: 5.6.3
+ typescript: 5.7.2
- '@t3-oss/env-nextjs@0.11.1(typescript@5.6.3)(zod@3.23.8)':
+ '@t3-oss/env-nextjs@0.11.1(typescript@5.7.2)(zod@3.23.8)':
dependencies:
- '@t3-oss/env-core': 0.11.1(typescript@5.6.3)(zod@3.23.8)
+ '@t3-oss/env-core': 0.11.1(typescript@5.7.2)(zod@3.23.8)
zod: 3.23.8
optionalDependencies:
- typescript: 5.6.3
+ typescript: 5.7.2
- '@tabler/icons-react@3.22.0(react@18.3.1)':
+ '@tabler/icons-react@3.23.0(react@18.3.1)':
dependencies:
- '@tabler/icons': 3.22.0
+ '@tabler/icons': 3.23.0
react: 18.3.1
- '@tabler/icons@3.22.0': {}
+ '@tabler/icons@3.23.0': {}
'@tanstack/match-sorter-utils@8.19.4':
dependencies:
remove-accents: 0.5.0
- '@tanstack/query-core@5.60.6': {}
+ '@tanstack/query-core@5.62.0': {}
- '@tanstack/query-devtools@5.59.20': {}
+ '@tanstack/query-devtools@5.61.4': {}
- '@tanstack/react-query-devtools@5.61.0(@tanstack/react-query@5.61.0(react@18.3.1))(react@18.3.1)':
+ '@tanstack/react-query-devtools@5.62.0(@tanstack/react-query@5.62.0(react@18.3.1))(react@18.3.1)':
dependencies:
- '@tanstack/query-devtools': 5.59.20
- '@tanstack/react-query': 5.61.0(react@18.3.1)
+ '@tanstack/query-devtools': 5.61.4
+ '@tanstack/react-query': 5.62.0(react@18.3.1)
react: 18.3.1
- '@tanstack/react-query-next-experimental@5.61.0(@tanstack/react-query@5.61.0(react@18.3.1))(next@14.2.18(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0))(react@18.3.1)':
+ '@tanstack/react-query-next-experimental@5.62.0(@tanstack/react-query@5.62.0(react@18.3.1))(next@14.2.18(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0))(react@18.3.1)':
dependencies:
- '@tanstack/react-query': 5.61.0(react@18.3.1)
+ '@tanstack/react-query': 5.62.0(react@18.3.1)
next: 14.2.18(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0)
react: 18.3.1
- '@tanstack/react-query@5.61.0(react@18.3.1)':
+ '@tanstack/react-query@5.62.0(react@18.3.1)':
dependencies:
- '@tanstack/query-core': 5.60.6
+ '@tanstack/query-core': 5.62.0
react: 18.3.1
'@tanstack/react-table@8.20.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
@@ -10197,157 +9925,157 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@tiptap/core@2.10.2(@tiptap/pm@2.10.2)':
+ '@tiptap/core@2.10.3(@tiptap/pm@2.10.3)':
dependencies:
- '@tiptap/pm': 2.10.2
+ '@tiptap/pm': 2.10.3
- '@tiptap/extension-blockquote@2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))':
+ '@tiptap/extension-blockquote@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))':
dependencies:
- '@tiptap/core': 2.10.2(@tiptap/pm@2.10.2)
+ '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3)
- '@tiptap/extension-bold@2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))':
+ '@tiptap/extension-bold@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))':
dependencies:
- '@tiptap/core': 2.10.2(@tiptap/pm@2.10.2)
+ '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3)
- '@tiptap/extension-bubble-menu@2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))(@tiptap/pm@2.10.2)':
+ '@tiptap/extension-bubble-menu@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3)':
dependencies:
- '@tiptap/core': 2.10.2(@tiptap/pm@2.10.2)
- '@tiptap/pm': 2.10.2
+ '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3)
+ '@tiptap/pm': 2.10.3
tippy.js: 6.3.7
- '@tiptap/extension-bullet-list@2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))':
+ '@tiptap/extension-bullet-list@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))':
dependencies:
- '@tiptap/core': 2.10.2(@tiptap/pm@2.10.2)
+ '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3)
- '@tiptap/extension-code-block@2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))(@tiptap/pm@2.10.2)':
+ '@tiptap/extension-code-block@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3)':
dependencies:
- '@tiptap/core': 2.10.2(@tiptap/pm@2.10.2)
- '@tiptap/pm': 2.10.2
+ '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3)
+ '@tiptap/pm': 2.10.3
- '@tiptap/extension-code@2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))':
+ '@tiptap/extension-code@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))':
dependencies:
- '@tiptap/core': 2.10.2(@tiptap/pm@2.10.2)
+ '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3)
- '@tiptap/extension-color@2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))(@tiptap/extension-text-style@2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2)))':
+ '@tiptap/extension-color@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/extension-text-style@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3)))':
dependencies:
- '@tiptap/core': 2.10.2(@tiptap/pm@2.10.2)
- '@tiptap/extension-text-style': 2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))
+ '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3)
+ '@tiptap/extension-text-style': 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))
- '@tiptap/extension-document@2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))':
+ '@tiptap/extension-document@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))':
dependencies:
- '@tiptap/core': 2.10.2(@tiptap/pm@2.10.2)
+ '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3)
- '@tiptap/extension-dropcursor@2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))(@tiptap/pm@2.10.2)':
+ '@tiptap/extension-dropcursor@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3)':
dependencies:
- '@tiptap/core': 2.10.2(@tiptap/pm@2.10.2)
- '@tiptap/pm': 2.10.2
+ '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3)
+ '@tiptap/pm': 2.10.3
- '@tiptap/extension-floating-menu@2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))(@tiptap/pm@2.10.2)':
+ '@tiptap/extension-floating-menu@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3)':
dependencies:
- '@tiptap/core': 2.10.2(@tiptap/pm@2.10.2)
- '@tiptap/pm': 2.10.2
+ '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3)
+ '@tiptap/pm': 2.10.3
tippy.js: 6.3.7
- '@tiptap/extension-gapcursor@2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))(@tiptap/pm@2.10.2)':
+ '@tiptap/extension-gapcursor@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3)':
dependencies:
- '@tiptap/core': 2.10.2(@tiptap/pm@2.10.2)
- '@tiptap/pm': 2.10.2
+ '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3)
+ '@tiptap/pm': 2.10.3
- '@tiptap/extension-hard-break@2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))':
+ '@tiptap/extension-hard-break@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))':
dependencies:
- '@tiptap/core': 2.10.2(@tiptap/pm@2.10.2)
+ '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3)
- '@tiptap/extension-heading@2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))':
+ '@tiptap/extension-heading@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))':
dependencies:
- '@tiptap/core': 2.10.2(@tiptap/pm@2.10.2)
+ '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3)
- '@tiptap/extension-highlight@2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))':
+ '@tiptap/extension-highlight@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))':
dependencies:
- '@tiptap/core': 2.10.2(@tiptap/pm@2.10.2)
+ '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3)
- '@tiptap/extension-history@2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))(@tiptap/pm@2.10.2)':
+ '@tiptap/extension-history@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3)':
dependencies:
- '@tiptap/core': 2.10.2(@tiptap/pm@2.10.2)
- '@tiptap/pm': 2.10.2
+ '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3)
+ '@tiptap/pm': 2.10.3
- '@tiptap/extension-horizontal-rule@2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))(@tiptap/pm@2.10.2)':
+ '@tiptap/extension-horizontal-rule@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3)':
dependencies:
- '@tiptap/core': 2.10.2(@tiptap/pm@2.10.2)
- '@tiptap/pm': 2.10.2
+ '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3)
+ '@tiptap/pm': 2.10.3
- '@tiptap/extension-image@2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))':
+ '@tiptap/extension-image@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))':
dependencies:
- '@tiptap/core': 2.10.2(@tiptap/pm@2.10.2)
+ '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3)
- '@tiptap/extension-italic@2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))':
+ '@tiptap/extension-italic@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))':
dependencies:
- '@tiptap/core': 2.10.2(@tiptap/pm@2.10.2)
+ '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3)
- '@tiptap/extension-link@2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))(@tiptap/pm@2.10.2)':
+ '@tiptap/extension-link@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3)':
dependencies:
- '@tiptap/core': 2.10.2(@tiptap/pm@2.10.2)
- '@tiptap/pm': 2.10.2
+ '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3)
+ '@tiptap/pm': 2.10.3
linkifyjs: 4.1.3
- '@tiptap/extension-list-item@2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))':
+ '@tiptap/extension-list-item@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))':
dependencies:
- '@tiptap/core': 2.10.2(@tiptap/pm@2.10.2)
+ '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3)
- '@tiptap/extension-ordered-list@2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))':
+ '@tiptap/extension-ordered-list@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))':
dependencies:
- '@tiptap/core': 2.10.2(@tiptap/pm@2.10.2)
+ '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3)
- '@tiptap/extension-paragraph@2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))':
+ '@tiptap/extension-paragraph@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))':
dependencies:
- '@tiptap/core': 2.10.2(@tiptap/pm@2.10.2)
+ '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3)
- '@tiptap/extension-strike@2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))':
+ '@tiptap/extension-strike@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))':
dependencies:
- '@tiptap/core': 2.10.2(@tiptap/pm@2.10.2)
+ '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3)
- '@tiptap/extension-table-cell@2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))':
+ '@tiptap/extension-table-cell@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))':
dependencies:
- '@tiptap/core': 2.10.2(@tiptap/pm@2.10.2)
+ '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3)
- '@tiptap/extension-table-header@2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))':
+ '@tiptap/extension-table-header@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))':
dependencies:
- '@tiptap/core': 2.10.2(@tiptap/pm@2.10.2)
+ '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3)
- '@tiptap/extension-table-row@2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))':
+ '@tiptap/extension-table-row@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))':
dependencies:
- '@tiptap/core': 2.10.2(@tiptap/pm@2.10.2)
+ '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3)
- '@tiptap/extension-table@2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))(@tiptap/pm@2.10.2)':
+ '@tiptap/extension-table@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3)':
dependencies:
- '@tiptap/core': 2.10.2(@tiptap/pm@2.10.2)
- '@tiptap/pm': 2.10.2
+ '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3)
+ '@tiptap/pm': 2.10.3
- '@tiptap/extension-task-item@2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))(@tiptap/pm@2.10.2)':
+ '@tiptap/extension-task-item@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3)':
dependencies:
- '@tiptap/core': 2.10.2(@tiptap/pm@2.10.2)
- '@tiptap/pm': 2.10.2
+ '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3)
+ '@tiptap/pm': 2.10.3
- '@tiptap/extension-task-list@2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))':
+ '@tiptap/extension-task-list@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))':
dependencies:
- '@tiptap/core': 2.10.2(@tiptap/pm@2.10.2)
+ '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3)
- '@tiptap/extension-text-align@2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))':
+ '@tiptap/extension-text-align@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))':
dependencies:
- '@tiptap/core': 2.10.2(@tiptap/pm@2.10.2)
+ '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3)
- '@tiptap/extension-text-style@2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))':
+ '@tiptap/extension-text-style@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))':
dependencies:
- '@tiptap/core': 2.10.2(@tiptap/pm@2.10.2)
+ '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3)
- '@tiptap/extension-text@2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))':
+ '@tiptap/extension-text@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))':
dependencies:
- '@tiptap/core': 2.10.2(@tiptap/pm@2.10.2)
+ '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3)
- '@tiptap/extension-underline@2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))':
+ '@tiptap/extension-underline@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))':
dependencies:
- '@tiptap/core': 2.10.2(@tiptap/pm@2.10.2)
+ '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3)
- '@tiptap/pm@2.10.2':
+ '@tiptap/pm@2.10.3':
dependencies:
prosemirror-changeset: 2.2.1
prosemirror-collab: 1.3.1
@@ -10364,120 +10092,77 @@ snapshots:
prosemirror-schema-list: 1.4.1
prosemirror-state: 1.4.3
prosemirror-tables: 1.6.1
- prosemirror-trailing-node: 3.0.0(prosemirror-model@1.23.0)(prosemirror-state@1.4.3)(prosemirror-view@1.36.0)
+ prosemirror-trailing-node: 3.0.0(prosemirror-model@1.23.0)(prosemirror-state@1.4.3)(prosemirror-view@1.37.0)
prosemirror-transform: 1.10.2
- prosemirror-view: 1.36.0
+ prosemirror-view: 1.37.0
- '@tiptap/react@2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))(@tiptap/pm@2.10.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@tiptap/react@2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
dependencies:
- '@tiptap/core': 2.10.2(@tiptap/pm@2.10.2)
- '@tiptap/extension-bubble-menu': 2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))(@tiptap/pm@2.10.2)
- '@tiptap/extension-floating-menu': 2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))(@tiptap/pm@2.10.2)
- '@tiptap/pm': 2.10.2
+ '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3)
+ '@tiptap/extension-bubble-menu': 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3)
+ '@tiptap/extension-floating-menu': 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3)
+ '@tiptap/pm': 2.10.3
'@types/use-sync-external-store': 0.0.6
fast-deep-equal: 3.1.3
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
use-sync-external-store: 1.2.2(react@18.3.1)
- '@tiptap/starter-kit@2.10.2':
+ '@tiptap/starter-kit@2.10.3':
dependencies:
- '@tiptap/core': 2.10.2(@tiptap/pm@2.10.2)
- '@tiptap/extension-blockquote': 2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))
- '@tiptap/extension-bold': 2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))
- '@tiptap/extension-bullet-list': 2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))
- '@tiptap/extension-code': 2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))
- '@tiptap/extension-code-block': 2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))(@tiptap/pm@2.10.2)
- '@tiptap/extension-document': 2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))
- '@tiptap/extension-dropcursor': 2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))(@tiptap/pm@2.10.2)
- '@tiptap/extension-gapcursor': 2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))(@tiptap/pm@2.10.2)
- '@tiptap/extension-hard-break': 2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))
- '@tiptap/extension-heading': 2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))
- '@tiptap/extension-history': 2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))(@tiptap/pm@2.10.2)
- '@tiptap/extension-horizontal-rule': 2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))(@tiptap/pm@2.10.2)
- '@tiptap/extension-italic': 2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))
- '@tiptap/extension-list-item': 2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))
- '@tiptap/extension-ordered-list': 2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))
- '@tiptap/extension-paragraph': 2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))
- '@tiptap/extension-strike': 2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))
- '@tiptap/extension-text': 2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))
- '@tiptap/extension-text-style': 2.10.2(@tiptap/core@2.10.2(@tiptap/pm@2.10.2))
- '@tiptap/pm': 2.10.2
+ '@tiptap/core': 2.10.3(@tiptap/pm@2.10.3)
+ '@tiptap/extension-blockquote': 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))
+ '@tiptap/extension-bold': 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))
+ '@tiptap/extension-bullet-list': 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))
+ '@tiptap/extension-code': 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))
+ '@tiptap/extension-code-block': 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3)
+ '@tiptap/extension-document': 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))
+ '@tiptap/extension-dropcursor': 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3)
+ '@tiptap/extension-gapcursor': 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3)
+ '@tiptap/extension-hard-break': 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))
+ '@tiptap/extension-heading': 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))
+ '@tiptap/extension-history': 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3)
+ '@tiptap/extension-horizontal-rule': 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))(@tiptap/pm@2.10.3)
+ '@tiptap/extension-italic': 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))
+ '@tiptap/extension-list-item': 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))
+ '@tiptap/extension-ordered-list': 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))
+ '@tiptap/extension-paragraph': 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))
+ '@tiptap/extension-strike': 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))
+ '@tiptap/extension-text': 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))
+ '@tiptap/extension-text-style': 2.10.3(@tiptap/core@2.10.3(@tiptap/pm@2.10.3))
+ '@tiptap/pm': 2.10.3
'@tootallnate/quickjs-emscripten@0.23.0': {}
- '@trpc/client@11.0.0-rc.638(@trpc/server@11.0.0-rc.638(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0))':
+ '@trpc/client@11.0.0-rc.648(@trpc/server@11.0.0-rc.648(typescript@5.7.2))(typescript@5.7.2)':
dependencies:
- '@trpc/server': 11.0.0-rc.638(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0)
+ '@trpc/server': 11.0.0-rc.648(typescript@5.7.2)
+ typescript: 5.7.2
- '@trpc/client@11.0.0-rc.638(@trpc/server@11.0.0-rc.638(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0))':
+ '@trpc/next@11.0.0-rc.648(@tanstack/react-query@5.62.0(react@18.3.1))(@trpc/client@11.0.0-rc.648(@trpc/server@11.0.0-rc.648(typescript@5.7.2))(typescript@5.7.2))(@trpc/react-query@11.0.0-rc.648(@tanstack/react-query@5.62.0(react@18.3.1))(@trpc/client@11.0.0-rc.648(@trpc/server@11.0.0-rc.648(typescript@5.7.2))(typescript@5.7.2))(@trpc/server@11.0.0-rc.648(typescript@5.7.2))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2))(@trpc/server@11.0.0-rc.648(typescript@5.7.2))(next@14.2.18(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2)':
dependencies:
- '@trpc/server': 11.0.0-rc.638(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0)
-
- '@trpc/next@11.0.0-rc.638(@tanstack/react-query@5.61.0(react@18.3.1))(@trpc/client@11.0.0-rc.638(@trpc/server@11.0.0-rc.638(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0)))(@trpc/react-query@11.0.0-rc.638(@tanstack/react-query@5.61.0(react@18.3.1))(@trpc/client@11.0.0-rc.638(@trpc/server@11.0.0-rc.638(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0)))(@trpc/server@11.0.0-rc.638(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@trpc/server@11.0.0-rc.638(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0))(next@14.2.18(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
- dependencies:
- '@trpc/client': 11.0.0-rc.638(@trpc/server@11.0.0-rc.638(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0))
- '@trpc/server': 11.0.0-rc.638(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0)
+ '@trpc/client': 11.0.0-rc.648(@trpc/server@11.0.0-rc.648(typescript@5.7.2))(typescript@5.7.2)
+ '@trpc/server': 11.0.0-rc.648(typescript@5.7.2)
next: 14.2.18(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0)
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
+ typescript: 5.7.2
optionalDependencies:
- '@tanstack/react-query': 5.61.0(react@18.3.1)
- '@trpc/react-query': 11.0.0-rc.638(@tanstack/react-query@5.61.0(react@18.3.1))(@trpc/client@11.0.0-rc.638(@trpc/server@11.0.0-rc.638(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0)))(@trpc/server@11.0.0-rc.638(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@tanstack/react-query': 5.62.0(react@18.3.1)
+ '@trpc/react-query': 11.0.0-rc.648(@tanstack/react-query@5.62.0(react@18.3.1))(@trpc/client@11.0.0-rc.648(@trpc/server@11.0.0-rc.648(typescript@5.7.2))(typescript@5.7.2))(@trpc/server@11.0.0-rc.648(typescript@5.7.2))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2)
- '@trpc/react-query@11.0.0-rc.638(@tanstack/react-query@5.61.0(react@18.3.1))(@trpc/client@11.0.0-rc.638(@trpc/server@11.0.0-rc.638(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0)))(@trpc/server@11.0.0-rc.638(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@trpc/react-query@11.0.0-rc.648(@tanstack/react-query@5.62.0(react@18.3.1))(@trpc/client@11.0.0-rc.648(@trpc/server@11.0.0-rc.648(typescript@5.7.2))(typescript@5.7.2))(@trpc/server@11.0.0-rc.648(typescript@5.7.2))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.2)':
dependencies:
- '@tanstack/react-query': 5.61.0(react@18.3.1)
- '@trpc/client': 11.0.0-rc.638(@trpc/server@11.0.0-rc.638(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0))
- '@trpc/server': 11.0.0-rc.638(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0)
+ '@tanstack/react-query': 5.62.0(react@18.3.1)
+ '@trpc/client': 11.0.0-rc.648(@trpc/server@11.0.0-rc.648(typescript@5.7.2))(typescript@5.7.2)
+ '@trpc/server': 11.0.0-rc.648(typescript@5.7.2)
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
+ typescript: 5.7.2
- '@trpc/react-query@11.0.0-rc.638(@tanstack/react-query@5.61.0(react@18.3.1))(@trpc/client@11.0.0-rc.638(@trpc/server@11.0.0-rc.638(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0)))(@trpc/server@11.0.0-rc.638(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ '@trpc/server@11.0.0-rc.648(typescript@5.7.2)':
dependencies:
- '@tanstack/react-query': 5.61.0(react@18.3.1)
- '@trpc/client': 11.0.0-rc.638(@trpc/server@11.0.0-rc.638(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0))
- '@trpc/server': 11.0.0-rc.638(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0)
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
-
- '@trpc/server@11.0.0-rc.638(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0)':
- optionalDependencies:
- '@types/aws-lambda': 8.10.145
- express: 4.21.1
- fastify: 5.1.0
- next: 14.2.18(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0)
- ws: 8.18.0
- transitivePeerDependencies:
- - '@babel/core'
- - '@opentelemetry/api'
- - '@playwright/test'
- - babel-plugin-macros
- - bufferutil
- - react
- - react-dom
- - sass
- - supports-color
- - utf-8-validate
-
- '@trpc/server@11.0.0-rc.638(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0)':
- optionalDependencies:
- '@types/aws-lambda': 8.10.145
- express: 4.21.1
- fastify: 5.1.0
- next: 14.2.18(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0)
- ws: 8.18.0
- transitivePeerDependencies:
- - '@babel/core'
- - '@opentelemetry/api'
- - '@playwright/test'
- - babel-plugin-macros
- - bufferutil
- - react
- - react-dom
- - sass
- - supports-color
- - utf-8-validate
+ typescript: 5.7.2
'@tsconfig/node10@1.0.11': {}
@@ -10489,9 +10174,9 @@ snapshots:
'@tsconfig/svelte@1.0.13': {}
- '@turbo/gen@2.3.1(@types/node@22.9.1)(typescript@5.6.3)':
+ '@turbo/gen@2.3.3(@types/node@22.10.1)(typescript@5.7.2)':
dependencies:
- '@turbo/workspaces': 2.3.1
+ '@turbo/workspaces': 2.3.3
commander: 10.0.1
fs-extra: 10.1.0
inquirer: 8.2.6
@@ -10499,7 +10184,7 @@ snapshots:
node-plop: 0.26.3
picocolors: 1.0.1
proxy-agent: 6.4.0
- ts-node: 10.9.2(@types/node@22.9.1)(typescript@5.6.3)
+ ts-node: 10.9.2(@types/node@22.10.1)(typescript@5.7.2)
update-check: 1.5.4
validate-npm-package-name: 5.0.1
transitivePeerDependencies:
@@ -10509,7 +10194,7 @@ snapshots:
- supports-color
- typescript
- '@turbo/workspaces@2.3.1':
+ '@turbo/workspaces@2.3.3':
dependencies:
commander: 10.0.1
execa: 5.1.1
@@ -10520,20 +10205,16 @@ snapshots:
js-yaml: 4.1.0
ora: 4.1.1
picocolors: 1.0.1
- rimraf: 3.0.2
semver: 7.6.2
update-check: 1.5.4
'@types/asn1@0.2.4':
dependencies:
- '@types/node': 22.9.1
-
- '@types/aws-lambda@8.10.145':
- optional: true
+ '@types/node': 22.10.1
'@types/babel__core@7.20.5':
dependencies:
- '@babel/parser': 7.25.6
+ '@babel/parser': 7.26.2
'@babel/types': 7.26.0
'@types/babel__generator': 7.6.8
'@types/babel__template': 7.4.4
@@ -10554,22 +10235,24 @@ snapshots:
'@types/bcrypt@5.0.2':
dependencies:
- '@types/node': 22.9.1
+ '@types/node': 22.10.1
'@types/better-sqlite3@7.6.12':
dependencies:
- '@types/node': 22.9.1
+ '@types/node': 22.10.1
'@types/body-parser@1.19.5':
dependencies:
'@types/connect': 3.4.38
- '@types/node': 22.9.1
+ '@types/node': 22.10.1
'@types/chroma-js@2.4.4': {}
'@types/connect@3.4.38':
dependencies:
- '@types/node': 22.9.1
+ '@types/node': 22.10.1
+
+ '@types/cookie@0.4.1': {}
'@types/cookie@0.6.0': {}
@@ -10578,7 +10261,11 @@ snapshots:
'@types/connect': 3.4.38
'@types/express': 4.17.21
'@types/keygrip': 1.0.6
- '@types/node': 22.9.1
+ '@types/node': 22.10.1
+
+ '@types/cors@2.8.17':
+ dependencies:
+ '@types/node': 22.10.1
'@types/css-font-loading-module@0.0.7': {}
@@ -10586,13 +10273,13 @@ snapshots:
'@types/docker-modem@3.0.6':
dependencies:
- '@types/node': 22.9.1
+ '@types/node': 22.10.1
'@types/ssh2': 1.15.1
'@types/dockerode@3.3.32':
dependencies:
'@types/docker-modem': 3.0.6
- '@types/node': 22.9.1
+ '@types/node': 22.10.1
'@types/ssh2': 1.15.1
'@types/estree@1.0.5': {}
@@ -10601,7 +10288,7 @@ snapshots:
'@types/express-serve-static-core@4.19.5':
dependencies:
- '@types/node': 22.9.1
+ '@types/node': 22.10.1
'@types/qs': 6.9.16
'@types/range-parser': 1.2.7
'@types/send': 0.17.4
@@ -10616,7 +10303,7 @@ snapshots:
'@types/glob@7.2.0':
dependencies:
'@types/minimatch': 5.1.2
- '@types/node': 22.9.1
+ '@types/node': 22.10.1
'@types/hast@2.3.10':
dependencies:
@@ -10654,9 +10341,9 @@ snapshots:
dependencies:
undici-types: 5.26.5
- '@types/node@22.9.1':
+ '@types/node@22.10.1':
dependencies:
- undici-types: 6.19.8
+ undici-types: 6.20.0
'@types/prismjs@1.26.5': {}
@@ -10682,21 +10369,21 @@ snapshots:
'@types/send@0.17.4':
dependencies:
'@types/mime': 1.3.5
- '@types/node': 22.9.1
+ '@types/node': 22.10.1
'@types/serve-static@1.15.7':
dependencies:
'@types/http-errors': 2.0.4
- '@types/node': 22.9.1
+ '@types/node': 22.10.1
'@types/send': 0.17.4
'@types/ssh2-streams@0.1.12':
dependencies:
- '@types/node': 22.9.1
+ '@types/node': 22.10.1
'@types/ssh2@0.5.52':
dependencies:
- '@types/node': 22.9.1
+ '@types/node': 22.10.1
'@types/ssh2-streams': 0.1.12
'@types/ssh2@1.15.1':
@@ -10709,7 +10396,7 @@ snapshots:
'@types/through@0.0.33':
dependencies:
- '@types/node': 22.9.1
+ '@types/node': 22.10.1
'@types/tinycolor2@1.4.6': {}
@@ -10725,97 +10412,97 @@ snapshots:
'@types/ws@8.5.13':
dependencies:
- '@types/node': 22.9.1
+ '@types/node': 22.10.1
'@types/xml2js@0.4.14':
dependencies:
- '@types/node': 22.9.1
+ '@types/node': 22.10.1
- '@typescript-eslint/eslint-plugin@8.15.0(@typescript-eslint/parser@8.15.0(eslint@9.15.0)(typescript@5.6.3))(eslint@9.15.0)(typescript@5.6.3)':
+ '@typescript-eslint/eslint-plugin@8.16.0(@typescript-eslint/parser@8.16.0(eslint@9.15.0)(typescript@5.7.2))(eslint@9.15.0)(typescript@5.7.2)':
dependencies:
'@eslint-community/regexpp': 4.12.1
- '@typescript-eslint/parser': 8.15.0(eslint@9.15.0)(typescript@5.6.3)
- '@typescript-eslint/scope-manager': 8.15.0
- '@typescript-eslint/type-utils': 8.15.0(eslint@9.15.0)(typescript@5.6.3)
- '@typescript-eslint/utils': 8.15.0(eslint@9.15.0)(typescript@5.6.3)
- '@typescript-eslint/visitor-keys': 8.15.0
+ '@typescript-eslint/parser': 8.16.0(eslint@9.15.0)(typescript@5.7.2)
+ '@typescript-eslint/scope-manager': 8.16.0
+ '@typescript-eslint/type-utils': 8.16.0(eslint@9.15.0)(typescript@5.7.2)
+ '@typescript-eslint/utils': 8.16.0(eslint@9.15.0)(typescript@5.7.2)
+ '@typescript-eslint/visitor-keys': 8.16.0
eslint: 9.15.0
graphemer: 1.4.0
ignore: 5.3.2
natural-compare: 1.4.0
- ts-api-utils: 1.3.0(typescript@5.6.3)
+ ts-api-utils: 1.3.0(typescript@5.7.2)
optionalDependencies:
- typescript: 5.6.3
+ typescript: 5.7.2
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/parser@8.15.0(eslint@9.15.0)(typescript@5.6.3)':
+ '@typescript-eslint/parser@8.16.0(eslint@9.15.0)(typescript@5.7.2)':
dependencies:
- '@typescript-eslint/scope-manager': 8.15.0
- '@typescript-eslint/types': 8.15.0
- '@typescript-eslint/typescript-estree': 8.15.0(typescript@5.6.3)
- '@typescript-eslint/visitor-keys': 8.15.0
+ '@typescript-eslint/scope-manager': 8.16.0
+ '@typescript-eslint/types': 8.16.0
+ '@typescript-eslint/typescript-estree': 8.16.0(typescript@5.7.2)
+ '@typescript-eslint/visitor-keys': 8.16.0
debug: 4.3.7
eslint: 9.15.0
optionalDependencies:
- typescript: 5.6.3
+ typescript: 5.7.2
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/scope-manager@8.15.0':
+ '@typescript-eslint/scope-manager@8.16.0':
dependencies:
- '@typescript-eslint/types': 8.15.0
- '@typescript-eslint/visitor-keys': 8.15.0
+ '@typescript-eslint/types': 8.16.0
+ '@typescript-eslint/visitor-keys': 8.16.0
- '@typescript-eslint/type-utils@8.15.0(eslint@9.15.0)(typescript@5.6.3)':
+ '@typescript-eslint/type-utils@8.16.0(eslint@9.15.0)(typescript@5.7.2)':
dependencies:
- '@typescript-eslint/typescript-estree': 8.15.0(typescript@5.6.3)
- '@typescript-eslint/utils': 8.15.0(eslint@9.15.0)(typescript@5.6.3)
+ '@typescript-eslint/typescript-estree': 8.16.0(typescript@5.7.2)
+ '@typescript-eslint/utils': 8.16.0(eslint@9.15.0)(typescript@5.7.2)
debug: 4.3.7
eslint: 9.15.0
- ts-api-utils: 1.3.0(typescript@5.6.3)
+ ts-api-utils: 1.3.0(typescript@5.7.2)
optionalDependencies:
- typescript: 5.6.3
+ typescript: 5.7.2
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/types@8.15.0': {}
+ '@typescript-eslint/types@8.16.0': {}
- '@typescript-eslint/typescript-estree@8.15.0(typescript@5.6.3)':
+ '@typescript-eslint/typescript-estree@8.16.0(typescript@5.7.2)':
dependencies:
- '@typescript-eslint/types': 8.15.0
- '@typescript-eslint/visitor-keys': 8.15.0
+ '@typescript-eslint/types': 8.16.0
+ '@typescript-eslint/visitor-keys': 8.16.0
debug: 4.3.7
fast-glob: 3.3.2
is-glob: 4.0.3
minimatch: 9.0.5
semver: 7.6.3
- ts-api-utils: 1.3.0(typescript@5.6.3)
+ ts-api-utils: 1.3.0(typescript@5.7.2)
optionalDependencies:
- typescript: 5.6.3
+ typescript: 5.7.2
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/utils@8.15.0(eslint@9.15.0)(typescript@5.6.3)':
+ '@typescript-eslint/utils@8.16.0(eslint@9.15.0)(typescript@5.7.2)':
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@9.15.0)
- '@typescript-eslint/scope-manager': 8.15.0
- '@typescript-eslint/types': 8.15.0
- '@typescript-eslint/typescript-estree': 8.15.0(typescript@5.6.3)
+ '@typescript-eslint/scope-manager': 8.16.0
+ '@typescript-eslint/types': 8.16.0
+ '@typescript-eslint/typescript-estree': 8.16.0(typescript@5.7.2)
eslint: 9.15.0
optionalDependencies:
- typescript: 5.6.3
+ typescript: 5.7.2
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/visitor-keys@8.15.0':
+ '@typescript-eslint/visitor-keys@8.16.0':
dependencies:
- '@typescript-eslint/types': 8.15.0
+ '@typescript-eslint/types': 8.16.0
eslint-visitor-keys: 4.2.0
'@umami/node@0.4.0': {}
- '@videojs/http-streaming@3.15.0(video.js@8.19.1)':
+ '@videojs/http-streaming@3.16.1(video.js@8.20.0)':
dependencies:
'@babel/runtime': 7.25.6
'@videojs/vhs-utils': 4.1.1
@@ -10823,8 +10510,8 @@ snapshots:
global: 4.4.0
m3u8-parser: 7.2.0
mpd-parser: 1.3.1
- mux.js: 7.0.3
- video.js: 8.19.1
+ mux.js: 7.1.0
+ video.js: 8.20.0
'@videojs/vhs-utils@4.0.0':
dependencies:
@@ -10843,18 +10530,18 @@ snapshots:
global: 4.4.0
is-function: 1.0.2
- '@vitejs/plugin-react@4.3.3(vite@5.4.5(@types/node@22.9.1)(sass@1.81.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0))':
+ '@vitejs/plugin-react@4.3.4(vite@5.4.5(@types/node@22.10.1)(sass@1.81.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0))':
dependencies:
- '@babel/core': 7.25.2
- '@babel/plugin-transform-react-jsx-self': 7.24.7(@babel/core@7.25.2)
- '@babel/plugin-transform-react-jsx-source': 7.24.7(@babel/core@7.25.2)
+ '@babel/core': 7.26.0
+ '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.26.0)
'@types/babel__core': 7.20.5
react-refresh: 0.14.2
- vite: 5.4.5(@types/node@22.9.1)(sass@1.81.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0)
+ vite: 5.4.5(@types/node@22.10.1)(sass@1.81.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0)
transitivePeerDependencies:
- supports-color
- '@vitest/coverage-v8@2.1.5(vitest@2.1.5)':
+ '@vitest/coverage-v8@2.1.6(vitest@2.1.6)':
dependencies:
'@ampproject/remapping': 2.3.0
'@bcoe/v8-coverage': 0.2.3
@@ -10868,58 +10555,58 @@ snapshots:
std-env: 3.8.0
test-exclude: 7.0.1
tinyrainbow: 1.2.0
- vitest: 2.1.5(@types/node@22.9.1)(@vitest/ui@2.1.5)(jsdom@25.0.1)(sass@1.81.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0)
+ vitest: 2.1.6(@types/node@22.10.1)(@vitest/ui@2.1.6)(jsdom@25.0.1)(sass@1.81.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0)
transitivePeerDependencies:
- supports-color
- '@vitest/expect@2.1.5':
+ '@vitest/expect@2.1.6':
dependencies:
- '@vitest/spy': 2.1.5
- '@vitest/utils': 2.1.5
+ '@vitest/spy': 2.1.6
+ '@vitest/utils': 2.1.6
chai: 5.1.2
tinyrainbow: 1.2.0
- '@vitest/mocker@2.1.5(vite@5.4.5(@types/node@22.9.1)(sass@1.81.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0))':
+ '@vitest/mocker@2.1.6(vite@5.4.5(@types/node@22.10.1)(sass@1.81.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0))':
dependencies:
- '@vitest/spy': 2.1.5
+ '@vitest/spy': 2.1.6
estree-walker: 3.0.3
magic-string: 0.30.12
optionalDependencies:
- vite: 5.4.5(@types/node@22.9.1)(sass@1.81.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0)
+ vite: 5.4.5(@types/node@22.10.1)(sass@1.81.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0)
- '@vitest/pretty-format@2.1.5':
+ '@vitest/pretty-format@2.1.6':
dependencies:
tinyrainbow: 1.2.0
- '@vitest/runner@2.1.5':
+ '@vitest/runner@2.1.6':
dependencies:
- '@vitest/utils': 2.1.5
+ '@vitest/utils': 2.1.6
pathe: 1.1.2
- '@vitest/snapshot@2.1.5':
+ '@vitest/snapshot@2.1.6':
dependencies:
- '@vitest/pretty-format': 2.1.5
+ '@vitest/pretty-format': 2.1.6
magic-string: 0.30.12
pathe: 1.1.2
- '@vitest/spy@2.1.5':
+ '@vitest/spy@2.1.6':
dependencies:
tinyspy: 3.0.2
- '@vitest/ui@2.1.5(vitest@2.1.5)':
+ '@vitest/ui@2.1.6(vitest@2.1.6)':
dependencies:
- '@vitest/utils': 2.1.5
+ '@vitest/utils': 2.1.6
fflate: 0.8.2
flatted: 3.3.1
pathe: 1.1.2
sirv: 3.0.0
tinyglobby: 0.2.10
tinyrainbow: 1.2.0
- vitest: 2.1.5(@types/node@22.9.1)(@vitest/ui@2.1.5)(jsdom@25.0.1)(sass@1.81.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0)
+ vitest: 2.1.6(@types/node@22.10.1)(@vitest/ui@2.1.6)(jsdom@25.0.1)(sass@1.81.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0)
- '@vitest/utils@2.1.5':
+ '@vitest/utils@2.1.6':
dependencies:
- '@vitest/pretty-format': 2.1.5
+ '@vitest/pretty-format': 2.1.6
loupe: 3.1.2
tinyrainbow: 1.2.0
@@ -11023,9 +10710,6 @@ snapshots:
dependencies:
event-target-shim: 5.0.1
- abstract-logging@2.0.1:
- optional: true
-
accepts@1.3.8:
dependencies:
mime-types: 2.1.35
@@ -11069,11 +10753,6 @@ snapshots:
clean-stack: 2.2.0
indent-string: 4.0.0
- ajv-formats@3.0.1(ajv@8.17.1):
- optionalDependencies:
- ajv: 8.17.1
- optional: true
-
ajv-keywords@3.5.2(ajv@6.12.6):
dependencies:
ajv: 6.12.6
@@ -11085,14 +10764,6 @@ snapshots:
json-schema-traverse: 0.4.1
uri-js: 4.4.1
- ajv@8.17.1:
- dependencies:
- fast-deep-equal: 3.1.3
- fast-uri: 3.0.3
- json-schema-traverse: 1.0.0
- require-from-string: 2.0.2
- optional: true
-
ansi-align@3.0.1:
dependencies:
string-width: 4.2.3
@@ -11159,9 +10830,6 @@ snapshots:
call-bind: 1.0.7
is-array-buffer: 3.0.4
- array-flatten@1.1.1:
- optional: true
-
array-includes@3.1.8:
dependencies:
call-bind: 1.0.7
@@ -11250,9 +10918,6 @@ snapshots:
asynckit@0.4.0: {}
- atomic-sleep@1.0.0:
- optional: true
-
autolinker@3.16.2:
dependencies:
tslib: 2.7.0
@@ -11261,12 +10926,6 @@ snapshots:
dependencies:
possible-typed-array-names: 1.0.0
- avvio@9.1.0:
- dependencies:
- '@fastify/error': 4.0.0
- fastq: 1.17.1
- optional: true
-
aws-ssl-profiles@1.1.2: {}
axe-core@4.10.0: {}
@@ -11317,6 +10976,8 @@ snapshots:
base64-js@1.5.1: {}
+ base64id@2.0.0: {}
+
basic-ftp@5.0.5: {}
bcrypt-pbkdf@1.0.2:
@@ -11333,7 +10994,7 @@ snapshots:
bellajs@11.2.0: {}
- better-sqlite3@11.5.0:
+ better-sqlite3@11.6.0:
dependencies:
bindings: 1.5.0
prebuild-install: 7.1.2
@@ -11350,24 +11011,6 @@ snapshots:
inherits: 2.0.4
readable-stream: 3.6.2
- body-parser@1.20.3:
- dependencies:
- bytes: 3.1.2
- content-type: 1.0.5
- debug: 2.6.9
- depd: 2.0.0
- destroy: 1.2.0
- http-errors: 2.0.0
- iconv-lite: 0.4.24
- on-finished: 2.4.1
- qs: 6.13.0
- raw-body: 2.5.2
- type-is: 1.6.18
- unpipe: 1.0.0
- transitivePeerDependencies:
- - supports-color
- optional: true
-
boxen@5.1.2:
dependencies:
ansi-align: 3.0.1
@@ -11392,13 +11035,6 @@ snapshots:
dependencies:
fill-range: 7.1.1
- browserslist@4.23.3:
- dependencies:
- caniuse-lite: 1.0.30001679
- electron-to-chromium: 1.5.23
- node-releases: 2.0.18
- update-browserslist-db: 1.1.0(browserslist@4.23.3)
-
browserslist@4.24.2:
dependencies:
caniuse-lite: 1.0.30001679
@@ -11462,12 +11098,6 @@ snapshots:
loupe: 3.1.2
pathval: 2.0.0
- chalk-scripts@1.2.8:
- dependencies:
- chalk: 5.3.0
- performance-now: 2.1.0
- uuid: 9.0.1
-
chalk@2.4.2:
dependencies:
ansi-styles: 3.2.1
@@ -11484,8 +11114,6 @@ snapshots:
ansi-styles: 4.3.0
supports-color: 7.2.0
- chalk@5.3.0: {}
-
change-case@3.1.0:
dependencies:
camel-case: 3.0.0
@@ -11572,7 +11200,7 @@ snapshots:
dependencies:
'@hapi/bourne': 3.0.0
inflation: 2.1.0
- qs: 6.13.0
+ qs: 6.13.1
raw-body: 2.5.2
type-is: 1.6.18
@@ -11649,6 +11277,8 @@ snapshots:
write-file-atomic: 3.0.3
xdg-basedir: 4.0.0
+ consola@3.2.3: {}
+
console-control-strings@1.1.0: {}
constant-case@2.0.0:
@@ -11660,13 +11290,9 @@ snapshots:
dependencies:
safe-buffer: 5.2.1
- content-type@1.0.5:
- optional: true
-
convert-source-map@2.0.0: {}
- cookie-signature@1.0.6:
- optional: true
+ cookie-es@1.2.2: {}
cookie@0.7.1: {}
@@ -11691,6 +11317,11 @@ snapshots:
core-util-is@1.0.3: {}
+ cors@2.8.5:
+ dependencies:
+ object-assign: 4.1.1
+ vary: 1.1.2
+
cpu-features@0.0.10:
dependencies:
buildcheck: 0.0.6
@@ -11736,6 +11367,10 @@ snapshots:
shebang-command: 2.0.0
which: 2.0.2
+ crossws@0.3.1:
+ dependencies:
+ uncrypto: 0.1.3
+
crypto-random-string@2.0.0: {}
css.escape@1.5.1: {}
@@ -11777,11 +11412,6 @@ snapshots:
dayjs@1.11.13: {}
- debug@2.6.9:
- dependencies:
- ms: 2.0.0
- optional: true
-
debug@3.2.7:
dependencies:
ms: 2.1.3
@@ -11820,6 +11450,8 @@ snapshots:
has-property-descriptors: 1.0.2
object-keys: 1.1.1
+ defu@6.1.4: {}
+
degenerator@5.0.1:
dependencies:
ast-types: 0.13.4
@@ -11851,9 +11483,6 @@ snapshots:
destr@2.0.3: {}
- destroy@1.2.0:
- optional: true
-
detect-libc@1.0.3:
optional: true
@@ -11952,24 +11581,24 @@ snapshots:
transitivePeerDependencies:
- supports-color
- drizzle-orm@0.36.4(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.12)(@types/react@18.3.12)(better-sqlite3@11.5.0)(mysql2@3.11.4)(react@18.3.1):
+ drizzle-orm@0.36.4(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.12)(@types/react@18.3.12)(better-sqlite3@11.6.0)(mysql2@3.11.5)(react@18.3.1):
optionalDependencies:
'@libsql/client-wasm': 0.14.0
'@types/better-sqlite3': 7.6.12
'@types/react': 18.3.12
- better-sqlite3: 11.5.0
- mysql2: 3.11.4
+ better-sqlite3: 11.6.0
+ mysql2: 3.11.5
react: 18.3.1
+ drizzle-zod@0.5.1(drizzle-orm@0.36.4(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.12)(@types/react@18.3.12)(better-sqlite3@11.6.0)(mysql2@3.11.5)(react@18.3.1))(zod@3.23.8):
+ dependencies:
+ drizzle-orm: 0.36.4(@libsql/client-wasm@0.14.0)(@types/better-sqlite3@7.6.12)(@types/react@18.3.12)(better-sqlite3@11.6.0)(mysql2@3.11.5)(react@18.3.1)
+ zod: 3.23.8
+
eastasianwidth@0.2.0: {}
- ee-first@1.1.1:
- optional: true
-
effect@3.9.2: {}
- electron-to-chromium@1.5.23: {}
-
electron-to-chromium@1.5.55: {}
emoji-regex@8.0.0: {}
@@ -11980,12 +11609,6 @@ snapshots:
enabled@2.0.0: {}
- encodeurl@1.0.2:
- optional: true
-
- encodeurl@2.0.0:
- optional: true
-
end-of-stream@1.4.4:
dependencies:
once: 1.4.0
@@ -12004,6 +11627,23 @@ snapshots:
engine.io-parser@5.2.3: {}
+ engine.io@6.6.2:
+ dependencies:
+ '@types/cookie': 0.4.1
+ '@types/cors': 2.8.17
+ '@types/node': 22.10.1
+ accepts: 1.3.8
+ base64id: 2.0.0
+ cookie: 0.7.2
+ cors: 2.8.5
+ debug: 4.3.7
+ engine.io-parser: 5.2.3
+ ws: 8.17.1
+ transitivePeerDependencies:
+ - bufferutil
+ - supports-color
+ - utf-8-validate
+
enhanced-resolve@5.17.1:
dependencies:
graceful-fs: 4.2.11
@@ -12246,9 +11886,6 @@ snapshots:
escape-goat@2.1.1: {}
- escape-html@1.0.3:
- optional: true
-
escape-string-regexp@1.0.5: {}
escape-string-regexp@4.0.0: {}
@@ -12265,10 +11902,10 @@ snapshots:
dependencies:
eslint: 9.15.0
- eslint-config-turbo@2.3.1(eslint@9.15.0):
+ eslint-config-turbo@2.3.3(eslint@9.15.0):
dependencies:
eslint: 9.15.0
- eslint-plugin-turbo: 2.3.1(eslint@9.15.0)
+ eslint-plugin-turbo: 2.3.3(eslint@9.15.0)
eslint-import-resolver-node@0.3.9:
dependencies:
@@ -12278,17 +11915,17 @@ snapshots:
transitivePeerDependencies:
- supports-color
- eslint-module-utils@2.12.0(@typescript-eslint/parser@8.15.0(eslint@9.15.0)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint@9.15.0):
+ eslint-module-utils@2.12.0(@typescript-eslint/parser@8.16.0(eslint@9.15.0)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint@9.15.0):
dependencies:
debug: 3.2.7
optionalDependencies:
- '@typescript-eslint/parser': 8.15.0(eslint@9.15.0)(typescript@5.6.3)
+ '@typescript-eslint/parser': 8.16.0(eslint@9.15.0)(typescript@5.7.2)
eslint: 9.15.0
eslint-import-resolver-node: 0.3.9
transitivePeerDependencies:
- supports-color
- eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.15.0(eslint@9.15.0)(typescript@5.6.3))(eslint@9.15.0):
+ eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.16.0(eslint@9.15.0)(typescript@5.7.2))(eslint@9.15.0):
dependencies:
'@rtsao/scc': 1.1.0
array-includes: 3.1.8
@@ -12299,7 +11936,7 @@ snapshots:
doctrine: 2.1.0
eslint: 9.15.0
eslint-import-resolver-node: 0.3.9
- eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.15.0(eslint@9.15.0)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint@9.15.0)
+ eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.16.0(eslint@9.15.0)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint@9.15.0)
hasown: 2.0.2
is-core-module: 2.15.1
is-glob: 4.0.3
@@ -12311,7 +11948,7 @@ snapshots:
string.prototype.trimend: 1.0.8
tsconfig-paths: 3.15.0
optionalDependencies:
- '@typescript-eslint/parser': 8.15.0(eslint@9.15.0)(typescript@5.6.3)
+ '@typescript-eslint/parser': 8.16.0(eslint@9.15.0)(typescript@5.7.2)
transitivePeerDependencies:
- eslint-import-resolver-typescript
- eslint-import-resolver-webpack
@@ -12362,7 +11999,7 @@ snapshots:
string.prototype.matchall: 4.0.11
string.prototype.repeat: 1.0.0
- eslint-plugin-turbo@2.3.1(eslint@9.15.0):
+ eslint-plugin-turbo@2.3.3(eslint@9.15.0):
dependencies:
dotenv: 16.0.3
eslint: 9.15.0
@@ -12448,16 +12085,13 @@ snapshots:
esutils@2.0.3: {}
- etag@1.8.1:
- optional: true
-
event-target-shim@5.0.1: {}
events@3.3.0: {}
execa@5.1.1:
dependencies:
- cross-spawn: 7.0.5
+ cross-spawn: 7.0.6
get-stream: 6.0.1
human-signals: 2.1.0
is-stream: 2.0.1
@@ -12471,52 +12105,12 @@ snapshots:
expect-type@1.1.0: {}
- express@4.21.1:
- dependencies:
- accepts: 1.3.8
- array-flatten: 1.1.1
- body-parser: 1.20.3
- content-disposition: 0.5.4
- content-type: 1.0.5
- cookie: 0.7.1
- cookie-signature: 1.0.6
- debug: 2.6.9
- depd: 2.0.0
- encodeurl: 2.0.0
- escape-html: 1.0.3
- etag: 1.8.1
- finalhandler: 1.3.1
- fresh: 0.5.2
- http-errors: 2.0.0
- merge-descriptors: 1.0.3
- methods: 1.1.2
- on-finished: 2.4.1
- parseurl: 1.3.3
- path-to-regexp: 0.1.10
- proxy-addr: 2.0.7
- qs: 6.13.0
- range-parser: 1.2.1
- safe-buffer: 5.2.1
- send: 0.19.0
- serve-static: 1.16.2
- setprototypeof: 1.2.0
- statuses: 2.0.1
- type-is: 1.6.18
- utils-merge: 1.0.1
- vary: 1.1.2
- transitivePeerDependencies:
- - supports-color
- optional: true
-
external-editor@3.1.0:
dependencies:
chardet: 0.7.0
iconv-lite: 0.4.24
tmp: 0.0.33
- fast-decode-uri-component@1.0.1:
- optional: true
-
fast-deep-equal@3.1.3: {}
fast-fifo@1.3.2: {}
@@ -12533,33 +12127,8 @@ snapshots:
fast-json-stable-stringify@2.1.0: {}
- fast-json-stringify@6.0.0:
- dependencies:
- '@fastify/merge-json-schemas': 0.1.1
- ajv: 8.17.1
- ajv-formats: 3.0.1(ajv@8.17.1)
- fast-deep-equal: 3.1.3
- fast-uri: 2.4.0
- json-schema-ref-resolver: 1.0.1
- rfdc: 1.4.1
- optional: true
-
fast-levenshtein@2.0.6: {}
- fast-querystring@1.1.2:
- dependencies:
- fast-decode-uri-component: 1.0.1
- optional: true
-
- fast-redact@3.5.0:
- optional: true
-
- fast-uri@2.4.0:
- optional: true
-
- fast-uri@3.0.3:
- optional: true
-
fast-xml-parser@4.5.0:
dependencies:
strnum: 1.0.5
@@ -12568,25 +12137,6 @@ snapshots:
dependencies:
'@babel/types': 7.26.0
- fastify@5.1.0:
- dependencies:
- '@fastify/ajv-compiler': 4.0.1
- '@fastify/error': 4.0.0
- '@fastify/fast-json-stringify-compiler': 5.0.1
- abstract-logging: 2.0.1
- avvio: 9.1.0
- fast-json-stringify: 6.0.0
- find-my-way: 9.1.0
- light-my-request: 6.3.0
- pino: 9.5.0
- process-warning: 4.0.0
- proxy-addr: 2.0.7
- rfdc: 1.4.1
- secure-json-parse: 2.7.0
- semver: 7.6.3
- toad-cache: 3.7.0
- optional: true
-
fastq@1.17.1:
dependencies:
reusify: 1.0.4
@@ -12621,26 +12171,6 @@ snapshots:
dependencies:
to-regex-range: 5.0.1
- finalhandler@1.3.1:
- dependencies:
- debug: 2.6.9
- encodeurl: 2.0.0
- escape-html: 1.0.3
- on-finished: 2.4.1
- parseurl: 1.3.3
- statuses: 2.0.1
- unpipe: 1.0.0
- transitivePeerDependencies:
- - supports-color
- optional: true
-
- find-my-way@9.1.0:
- dependencies:
- fast-deep-equal: 3.1.3
- fast-querystring: 1.1.2
- safe-regex2: 4.0.0
- optional: true
-
find-up@5.0.0:
dependencies:
locate-path: 6.0.0
@@ -12676,9 +12206,6 @@ snapshots:
format@0.2.2: {}
- forwarded@0.2.0:
- optional: true
-
fresh@0.5.2: {}
fs-constants@1.0.0: {}
@@ -12701,6 +12228,9 @@ snapshots:
fs.realpath@1.0.0: {}
+ fsevents@2.3.2:
+ optional: true
+
fsevents@2.3.3:
optional: true
@@ -12861,6 +12391,19 @@ snapshots:
graphemer@1.4.0: {}
+ h3@1.13.0:
+ dependencies:
+ cookie-es: 1.2.2
+ crossws: 0.3.1
+ defu: 6.1.4
+ destr: 2.0.3
+ iron-webcrypto: 1.2.1
+ ohash: 1.1.4
+ radix3: 1.1.2
+ ufo: 1.5.4
+ uncrypto: 0.1.3
+ unenv: 1.10.0
+
handlebars@4.7.8:
dependencies:
minimist: 1.2.8
@@ -13070,8 +12613,7 @@ snapshots:
jsbn: 1.1.0
sprintf-js: 1.1.3
- ipaddr.js@1.9.1:
- optional: true
+ iron-webcrypto@1.2.1: {}
is-alphabetical@1.0.4: {}
@@ -13285,7 +12827,7 @@ snapshots:
jest-worker@27.5.1:
dependencies:
- '@types/node': 22.9.1
+ '@types/node': 22.10.1
merge-stream: 2.0.0
supports-color: 8.1.1
@@ -13339,24 +12881,14 @@ snapshots:
- supports-color
- utf-8-validate
- jsesc@2.5.2: {}
-
jsesc@3.0.2: {}
json-buffer@3.0.1: {}
json-parse-even-better-errors@2.3.1: {}
- json-schema-ref-resolver@1.0.1:
- dependencies:
- fast-deep-equal: 3.1.3
- optional: true
-
json-schema-traverse@0.4.1: {}
- json-schema-traverse@1.0.0:
- optional: true
-
json-stable-stringify-without-jsonify@1.0.1: {}
json5@1.0.2:
@@ -13386,6 +12918,8 @@ snapshots:
dependencies:
json-buffer: 3.0.1
+ kleur@4.1.5: {}
+
klona@2.0.6: {}
kuler@2.0.0: {}
@@ -13416,13 +12950,6 @@ snapshots:
prelude-ls: 1.2.1
type-check: 0.4.0
- light-my-request@6.3.0:
- dependencies:
- cookie: 1.0.1
- process-warning: 4.0.0
- set-cookie-parser: 2.7.1
- optional: true
-
linkify-it@5.0.0:
dependencies:
uc.micro: 2.1.0
@@ -13530,12 +13057,12 @@ snapshots:
make-error@1.3.6: {}
- mantine-react-table@2.0.0-beta.7(@mantine/core@7.14.1(@mantine/hooks@7.14.1(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/dates@7.14.1(@mantine/core@7.14.1(@mantine/hooks@7.14.1(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.1(react@18.3.1))(dayjs@1.11.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.1(react@18.3.1))(@tabler/icons-react@3.22.0(react@18.3.1))(clsx@2.1.1)(dayjs@1.11.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ mantine-react-table@2.0.0-beta.7(@mantine/core@7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/dates@7.14.3(@mantine/core@7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.3(react@18.3.1))(dayjs@1.11.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.3(react@18.3.1))(@tabler/icons-react@3.23.0(react@18.3.1))(clsx@2.1.1)(dayjs@1.11.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies:
- '@mantine/core': 7.14.1(@mantine/hooks@7.14.1(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@mantine/dates': 7.14.1(@mantine/core@7.14.1(@mantine/hooks@7.14.1(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.1(react@18.3.1))(dayjs@1.11.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@mantine/hooks': 7.14.1(react@18.3.1)
- '@tabler/icons-react': 3.22.0(react@18.3.1)
+ '@mantine/core': 7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@mantine/dates': 7.14.3(@mantine/core@7.14.3(@mantine/hooks@7.14.3(react@18.3.1))(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mantine/hooks@7.14.3(react@18.3.1))(dayjs@1.11.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@mantine/hooks': 7.14.3(react@18.3.1)
+ '@tabler/icons-react': 3.23.0(react@18.3.1)
'@tanstack/match-sorter-utils': 8.19.4
'@tanstack/react-table': 8.20.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@tanstack/react-virtual': 3.10.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
@@ -13578,6 +13105,8 @@ snapshots:
mime@1.6.0: {}
+ mime@3.0.0: {}
+
mimic-fn@2.1.0: {}
mimic-response@3.1.0: {}
@@ -13642,10 +13171,9 @@ snapshots:
'@xmldom/xmldom': 0.8.10
global: 4.4.0
- mrmime@2.0.0: {}
+ mri@1.2.0: {}
- ms@2.0.0:
- optional: true
+ mrmime@2.0.0: {}
ms@2.1.3: {}
@@ -13656,7 +13184,12 @@ snapshots:
'@babel/runtime': 7.25.6
global: 4.4.0
- mysql2@3.11.4:
+ mux.js@7.1.0:
+ dependencies:
+ '@babel/runtime': 7.25.6
+ global: 4.4.0
+
+ mysql2@3.11.5:
dependencies:
aws-ssl-profiles: 1.1.2
denque: 2.1.0
@@ -13693,45 +13226,19 @@ snapshots:
netmask@2.0.2: {}
- next-auth@5.0.0-beta.25(next@14.2.18(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0))(react@18.3.1):
+ next-auth@5.0.0-beta.25(next@14.2.18(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0))(react@18.3.1):
dependencies:
'@auth/core': 0.37.2
- next: 14.2.18(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0)
+ next: 14.2.18(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0)
react: 18.3.1
- next-intl@3.25.1(next@14.2.18(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0))(react@18.3.1):
+ next-intl@3.25.3(next@14.2.18(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0))(react@18.3.1):
dependencies:
'@formatjs/intl-localematcher': 0.5.5
negotiator: 1.0.0
- next: 14.2.18(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0)
+ next: 14.2.18(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0)
react: 18.3.1
- use-intl: 3.25.1(react@18.3.1)
-
- next@14.2.18(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0):
- dependencies:
- '@next/env': 14.2.18
- '@swc/helpers': 0.5.5
- busboy: 1.6.0
- caniuse-lite: 1.0.30001679
- graceful-fs: 4.2.11
- postcss: 8.4.31
- react: 18.3.1
- react-dom: 18.3.1(react@18.3.1)
- styled-jsx: 5.1.1(@babel/core@7.25.2)(react@18.3.1)
- optionalDependencies:
- '@next/swc-darwin-arm64': 14.2.18
- '@next/swc-darwin-x64': 14.2.18
- '@next/swc-linux-arm64-gnu': 14.2.18
- '@next/swc-linux-arm64-musl': 14.2.18
- '@next/swc-linux-x64-gnu': 14.2.18
- '@next/swc-linux-x64-musl': 14.2.18
- '@next/swc-win32-arm64-msvc': 14.2.18
- '@next/swc-win32-ia32-msvc': 14.2.18
- '@next/swc-win32-x64-msvc': 14.2.18
- sass: 1.81.0
- transitivePeerDependencies:
- - '@babel/core'
- - babel-plugin-macros
+ use-intl: 3.25.3(react@18.3.1)
next@14.2.18(@babel/core@7.26.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0):
dependencies:
@@ -13808,10 +13315,8 @@ snapshots:
loader-utils: 2.0.4
webpack: 5.94.0
- node-mocks-http@1.16.0:
+ node-mocks-http@1.16.1(@types/express@4.17.21)(@types/node@22.10.1):
dependencies:
- '@types/express': 4.17.21
- '@types/node': 22.9.1
accepts: 1.3.8
content-disposition: 0.5.4
depd: 1.1.2
@@ -13822,6 +13327,9 @@ snapshots:
parseurl: 1.3.3
range-parser: 1.2.1
type-is: 1.6.18
+ optionalDependencies:
+ '@types/express': 4.17.21
+ '@types/node': 22.10.1
node-plop@0.26.3:
dependencies:
@@ -13906,13 +13414,7 @@ snapshots:
node-fetch-native: 1.6.4
ufo: 1.5.4
- on-exit-leak-free@2.1.2:
- optional: true
-
- on-finished@2.4.1:
- dependencies:
- ee-first: 1.1.1
- optional: true
+ ohash@1.1.4: {}
once@1.4.0:
dependencies:
@@ -13934,7 +13436,9 @@ snapshots:
dependencies:
apg-lite: 1.0.4
- openapi-types@12.1.3: {}
+ openapi3-ts@4.3.3:
+ dependencies:
+ yaml: 2.5.1
optionator@0.9.4:
dependencies:
@@ -14058,17 +13562,12 @@ snapshots:
lru-cache: 11.0.1
minipass: 7.1.2
- path-to-regexp@0.1.10:
- optional: true
-
path-type@4.0.0: {}
pathe@1.1.2: {}
pathval@2.0.0: {}
- performance-now@2.1.0: {}
-
picocolors@1.0.1: {}
picocolors@1.1.0: {}
@@ -14077,29 +13576,6 @@ snapshots:
picomatch@4.0.2: {}
- pino-abstract-transport@2.0.0:
- dependencies:
- split2: 4.2.0
- optional: true
-
- pino-std-serializers@7.0.0:
- optional: true
-
- pino@9.5.0:
- dependencies:
- atomic-sleep: 1.0.0
- fast-redact: 3.5.0
- on-exit-leak-free: 2.1.2
- pino-abstract-transport: 2.0.0
- pino-std-serializers: 7.0.0
- process-warning: 4.0.0
- quick-format-unescaped: 4.0.4
- real-require: 0.2.0
- safe-stable-stringify: 2.5.0
- sonic-boom: 4.2.0
- thread-stream: 3.1.0
- optional: true
-
piscina@4.6.1:
optionalDependencies:
nice-napi: 1.0.2
@@ -14108,6 +13584,14 @@ snapshots:
dependencies:
'@babel/runtime': 7.25.6
+ playwright-core@1.49.0: {}
+
+ playwright@1.49.0:
+ dependencies:
+ playwright-core: 1.49.0
+ optionalDependencies:
+ fsevents: 2.3.2
+
possible-typed-array-names@1.0.0: {}
postcss-js@4.0.1(postcss@8.4.47):
@@ -14185,7 +13669,7 @@ snapshots:
prelude-ls@1.2.1: {}
- prettier@3.3.3: {}
+ prettier@3.4.1: {}
pretty-format@3.8.0: {}
@@ -14199,9 +13683,6 @@ snapshots:
process-nextick-args@2.0.1: {}
- process-warning@4.0.0:
- optional: true
-
process@0.11.10: {}
prop-types@15.8.1:
@@ -14242,20 +13723,20 @@ snapshots:
dependencies:
prosemirror-state: 1.4.3
prosemirror-transform: 1.10.2
- prosemirror-view: 1.36.0
+ prosemirror-view: 1.37.0
prosemirror-gapcursor@1.3.2:
dependencies:
prosemirror-keymap: 1.2.2
prosemirror-model: 1.23.0
prosemirror-state: 1.4.3
- prosemirror-view: 1.36.0
+ prosemirror-view: 1.37.0
prosemirror-history@1.4.1:
dependencies:
prosemirror-state: 1.4.3
prosemirror-transform: 1.10.2
- prosemirror-view: 1.36.0
+ prosemirror-view: 1.37.0
rope-sequence: 1.3.4
prosemirror-inputrules@1.4.0:
@@ -14299,7 +13780,7 @@ snapshots:
dependencies:
prosemirror-model: 1.23.0
prosemirror-transform: 1.10.2
- prosemirror-view: 1.36.0
+ prosemirror-view: 1.37.0
prosemirror-tables@1.6.1:
dependencies:
@@ -14307,21 +13788,21 @@ snapshots:
prosemirror-model: 1.23.0
prosemirror-state: 1.4.3
prosemirror-transform: 1.10.2
- prosemirror-view: 1.36.0
+ prosemirror-view: 1.37.0
- prosemirror-trailing-node@3.0.0(prosemirror-model@1.23.0)(prosemirror-state@1.4.3)(prosemirror-view@1.36.0):
+ prosemirror-trailing-node@3.0.0(prosemirror-model@1.23.0)(prosemirror-state@1.4.3)(prosemirror-view@1.37.0):
dependencies:
'@remirror/core-constants': 3.0.0
escape-string-regexp: 4.0.0
prosemirror-model: 1.23.0
prosemirror-state: 1.4.3
- prosemirror-view: 1.36.0
+ prosemirror-view: 1.37.0
prosemirror-transform@1.10.2:
dependencies:
prosemirror-model: 1.23.0
- prosemirror-view@1.36.0:
+ prosemirror-view@1.37.0:
dependencies:
prosemirror-model: 1.23.0
prosemirror-state: 1.4.3
@@ -14329,12 +13810,6 @@ snapshots:
proto-list@1.2.4: {}
- proxy-addr@2.0.7:
- dependencies:
- forwarded: 0.2.0
- ipaddr.js: 1.9.1
- optional: true
-
proxy-agent@6.4.0:
dependencies:
agent-base: 7.1.1
@@ -14363,7 +13838,7 @@ snapshots:
dependencies:
escape-goat: 2.1.1
- qs@6.13.0:
+ qs@6.13.1:
dependencies:
side-channel: 1.0.6
@@ -14373,8 +13848,7 @@ snapshots:
queue-tick@1.0.1: {}
- quick-format-unescaped@4.0.4:
- optional: true
+ radix3@1.1.2: {}
ramda-adjunct@5.1.0(ramda@0.30.1):
dependencies:
@@ -14482,6 +13956,14 @@ snapshots:
optionalDependencies:
'@types/react': 18.3.12
+ react-scan@0.0.31:
+ dependencies:
+ '@clack/core': 0.3.5
+ '@clack/prompts': 0.8.2
+ kleur: 4.1.5
+ mri: 1.2.0
+ playwright: 1.49.0
+
react-simple-code-editor@0.14.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies:
react: 18.3.1
@@ -14505,7 +13987,7 @@ snapshots:
react: 18.3.1
refractor: 3.6.0
- react-textarea-autosize@8.5.4(@types/react@18.3.12)(react@18.3.1):
+ react-textarea-autosize@8.5.5(@types/react@18.3.12)(react@18.3.1):
dependencies:
'@babel/runtime': 7.25.6
react: 18.3.1
@@ -14557,9 +14039,6 @@ snapshots:
readdirp@4.0.1: {}
- real-require@0.2.0:
- optional: true
-
recast@0.23.9:
dependencies:
ast-types: 0.16.1
@@ -14633,9 +14112,6 @@ snapshots:
require-directory@2.1.1: {}
- require-from-string@2.0.2:
- optional: true
-
requires-port@1.0.0: {}
reselect@5.1.1: {}
@@ -14663,18 +14139,12 @@ snapshots:
ret@0.2.2: {}
- ret@0.5.0:
- optional: true
-
retry@0.12.0: {}
reusify@1.0.4: {}
rfc4648@1.5.3: {}
- rfdc@1.4.1:
- optional: true
-
rimraf@3.0.2:
dependencies:
glob: 7.2.3
@@ -14762,11 +14232,6 @@ snapshots:
es-errors: 1.3.0
is-regex: 1.1.4
- safe-regex2@4.0.0:
- dependencies:
- ret: 0.5.0
- optional: true
-
safe-stable-stringify@2.5.0: {}
safer-buffer@2.1.2: {}
@@ -14795,9 +14260,6 @@ snapshots:
ajv: 6.12.6
ajv-keywords: 3.5.2(ajv@6.12.6)
- secure-json-parse@2.7.0:
- optional: true
-
semver-diff@3.1.1:
dependencies:
semver: 6.3.1
@@ -14808,25 +14270,6 @@ snapshots:
semver@7.6.3: {}
- send@0.19.0:
- dependencies:
- debug: 2.6.9
- depd: 2.0.0
- destroy: 1.2.0
- encodeurl: 1.0.2
- escape-html: 1.0.3
- etag: 1.8.1
- fresh: 0.5.2
- http-errors: 2.0.0
- mime: 1.6.0
- ms: 2.1.3
- on-finished: 2.4.1
- range-parser: 1.2.1
- statuses: 2.0.1
- transitivePeerDependencies:
- - supports-color
- optional: true
-
sentence-case@2.1.1:
dependencies:
no-case: 2.3.2
@@ -14842,21 +14285,8 @@ snapshots:
dependencies:
randombytes: 2.1.0
- serve-static@1.16.2:
- dependencies:
- encodeurl: 2.0.0
- escape-html: 1.0.3
- parseurl: 1.3.3
- send: 0.19.0
- transitivePeerDependencies:
- - supports-color
- optional: true
-
set-blocking@2.0.0: {}
- set-cookie-parser@2.7.1:
- optional: true
-
set-function-length@1.2.2:
dependencies:
define-data-property: 1.1.4
@@ -14931,6 +14361,15 @@ snapshots:
dependencies:
no-case: 2.3.2
+ socket.io-adapter@2.5.5:
+ dependencies:
+ debug: 4.3.7
+ ws: 8.17.1
+ transitivePeerDependencies:
+ - bufferutil
+ - supports-color
+ - utf-8-validate
+
socket.io-client@4.7.5:
dependencies:
'@socket.io/component-emitter': 3.1.2
@@ -14949,6 +14388,20 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ socket.io@4.8.1:
+ dependencies:
+ accepts: 1.3.8
+ base64id: 2.0.0
+ cors: 2.8.5
+ debug: 4.3.7
+ engine.io: 6.6.2
+ socket.io-adapter: 2.5.5
+ socket.io-parser: 4.2.4
+ transitivePeerDependencies:
+ - bufferutil
+ - supports-color
+ - utf-8-validate
+
socks-proxy-agent@8.0.4:
dependencies:
agent-base: 7.1.1
@@ -14962,11 +14415,6 @@ snapshots:
ip-address: 9.0.5
smart-buffer: 4.2.0
- sonic-boom@4.2.0:
- dependencies:
- atomic-sleep: 1.0.0
- optional: true
-
source-map-js@1.2.1: {}
source-map-support@0.5.21:
@@ -14980,9 +14428,6 @@ snapshots:
split-ca@1.0.1: {}
- split2@4.2.0:
- optional: true
-
sprintf-js@1.0.3: {}
sprintf-js@1.1.3: {}
@@ -15107,13 +14552,6 @@ snapshots:
strnum@1.0.5: {}
- styled-jsx@5.1.1(@babel/core@7.25.2)(react@18.3.1):
- dependencies:
- client-only: 0.0.1
- react: 18.3.1
- optionalDependencies:
- '@babel/core': 7.25.2
-
styled-jsx@5.1.1(@babel/core@7.26.0)(react@18.3.1):
dependencies:
client-only: 0.0.1
@@ -15314,11 +14752,6 @@ snapshots:
text-hex@1.0.0: {}
- thread-stream@3.1.0:
- dependencies:
- real-require: 0.2.0
- optional: true
-
through@2.3.8: {}
tiny-invariant@1.3.3: {}
@@ -15354,11 +14787,11 @@ snapshots:
no-case: 2.3.2
upper-case: 1.1.3
- tldts-core@6.1.63: {}
+ tldts-core@6.1.64: {}
- tldts@6.1.63:
+ tldts@6.1.64:
dependencies:
- tldts-core: 6.1.63
+ tldts-core: 6.1.64
tmp@0.0.33:
dependencies:
@@ -15366,15 +14799,10 @@ snapshots:
tmp@0.2.3: {}
- to-fast-properties@2.0.0: {}
-
to-regex-range@5.0.1:
dependencies:
is-number: 7.0.0
- toad-cache@3.7.0:
- optional: true
-
toggle-selection@1.0.6: {}
toidentifier@1.0.1: {}
@@ -15383,7 +14811,7 @@ snapshots:
tough-cookie@5.0.0:
dependencies:
- tldts: 6.1.63
+ tldts: 6.1.64
tr46@0.0.3: {}
@@ -15411,47 +14839,49 @@ snapshots:
triple-beam@1.4.1: {}
- trpc-swagger@1.2.6(patch_hash=6s72z7zx33c52iesv5sewipn6i)(@trpc/client@11.0.0-rc.638(@trpc/server@11.0.0-rc.638(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0)))(@trpc/server@11.0.0-rc.638(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0))(zod@3.23.8):
+ trpc-to-openapi@2.0.2(@trpc/server@11.0.0-rc.648(typescript@5.7.2))(@types/express@4.17.21)(@types/node@22.10.1)(zod@3.23.8):
dependencies:
- '@trpc/client': 11.0.0-rc.638(@trpc/server@11.0.0-rc.638(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0))
- '@trpc/server': 11.0.0-rc.638(@babel/core@7.25.2)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.81.0)
- chalk-scripts: 1.2.8
+ '@trpc/server': 11.0.0-rc.648(typescript@5.7.2)
co-body: 6.2.0
+ h3: 1.13.0
lodash.clonedeep: 4.5.0
- node-mocks-http: 1.16.0
- openapi-types: 12.1.3
+ node-mocks-http: 1.16.1(@types/express@4.17.21)(@types/node@22.10.1)
+ openapi3-ts: 4.3.3
zod: 3.23.8
- zod-to-json-schema: 3.23.3(zod@3.23.8)
+ zod-openapi: 2.19.0(zod@3.23.8)
+ transitivePeerDependencies:
+ - '@types/express'
+ - '@types/node'
- ts-api-utils@1.3.0(typescript@5.6.3):
+ ts-api-utils@1.3.0(typescript@5.7.2):
dependencies:
- typescript: 5.6.3
+ typescript: 5.7.2
ts-mixer@6.0.4: {}
- ts-node@10.9.2(@types/node@22.9.1)(typescript@5.6.3):
+ ts-node@10.9.2(@types/node@22.10.1)(typescript@5.7.2):
dependencies:
'@cspotcode/source-map-support': 0.8.1
'@tsconfig/node10': 1.0.11
'@tsconfig/node12': 1.0.11
'@tsconfig/node14': 1.0.3
'@tsconfig/node16': 1.0.4
- '@types/node': 22.9.1
+ '@types/node': 22.10.1
acorn: 8.14.0
acorn-walk: 8.3.4
arg: 4.1.3
create-require: 1.1.1
diff: 4.0.2
make-error: 1.3.6
- typescript: 5.6.3
+ typescript: 5.7.2
v8-compile-cache-lib: 3.0.1
yn: 3.1.1
ts-toolbelt@9.6.0: {}
- tsconfck@3.1.3(typescript@5.6.3):
+ tsconfck@3.1.3(typescript@5.7.2):
optionalDependencies:
- typescript: 5.6.3
+ typescript: 5.7.2
tsconfig-paths@3.15.0:
dependencies:
@@ -15477,32 +14907,32 @@ snapshots:
dependencies:
safe-buffer: 5.2.1
- turbo-darwin-64@2.3.1:
+ turbo-darwin-64@2.3.3:
optional: true
- turbo-darwin-arm64@2.3.1:
+ turbo-darwin-arm64@2.3.3:
optional: true
- turbo-linux-64@2.3.1:
+ turbo-linux-64@2.3.3:
optional: true
- turbo-linux-arm64@2.3.1:
+ turbo-linux-arm64@2.3.3:
optional: true
- turbo-windows-64@2.3.1:
+ turbo-windows-64@2.3.3:
optional: true
- turbo-windows-arm64@2.3.1:
+ turbo-windows-arm64@2.3.3:
optional: true
- turbo@2.3.1:
+ turbo@2.3.3:
optionalDependencies:
- turbo-darwin-64: 2.3.1
- turbo-darwin-arm64: 2.3.1
- turbo-linux-64: 2.3.1
- turbo-linux-arm64: 2.3.1
- turbo-windows-64: 2.3.1
- turbo-windows-arm64: 2.3.1
+ turbo-darwin-64: 2.3.3
+ turbo-darwin-arm64: 2.3.3
+ turbo-linux-64: 2.3.3
+ turbo-linux-arm64: 2.3.3
+ turbo-windows-64: 2.3.3
+ turbo-windows-arm64: 2.3.3
tweetnacl@0.14.5: {}
@@ -15514,7 +14944,7 @@ snapshots:
type-fest@0.21.3: {}
- type-fest@4.26.1: {}
+ type-fest@4.28.0: {}
type-is@1.6.18:
dependencies:
@@ -15561,18 +14991,18 @@ snapshots:
dependencies:
ts-toolbelt: 9.6.0
- typescript-eslint@8.15.0(eslint@9.15.0)(typescript@5.6.3):
+ typescript-eslint@8.16.0(eslint@9.15.0)(typescript@5.7.2):
dependencies:
- '@typescript-eslint/eslint-plugin': 8.15.0(@typescript-eslint/parser@8.15.0(eslint@9.15.0)(typescript@5.6.3))(eslint@9.15.0)(typescript@5.6.3)
- '@typescript-eslint/parser': 8.15.0(eslint@9.15.0)(typescript@5.6.3)
- '@typescript-eslint/utils': 8.15.0(eslint@9.15.0)(typescript@5.6.3)
+ '@typescript-eslint/eslint-plugin': 8.16.0(@typescript-eslint/parser@8.16.0(eslint@9.15.0)(typescript@5.7.2))(eslint@9.15.0)(typescript@5.7.2)
+ '@typescript-eslint/parser': 8.16.0(eslint@9.15.0)(typescript@5.7.2)
+ '@typescript-eslint/utils': 8.16.0(eslint@9.15.0)(typescript@5.7.2)
eslint: 9.15.0
optionalDependencies:
- typescript: 5.6.3
+ typescript: 5.7.2
transitivePeerDependencies:
- supports-color
- typescript@5.6.3: {}
+ typescript@5.7.2: {}
uc.micro@2.1.0: {}
@@ -15590,15 +15020,25 @@ snapshots:
has-symbols: 1.0.3
which-boxed-primitive: 1.0.2
+ uncrypto@0.1.3: {}
+
undici-types@5.26.5: {}
- undici-types@6.19.8: {}
+ undici-types@6.20.0: {}
undici@5.28.4:
dependencies:
'@fastify/busboy': 2.1.1
- undici@6.21.0: {}
+ undici@7.0.0: {}
+
+ unenv@1.10.0:
+ dependencies:
+ consola: 3.2.3
+ defu: 6.1.4
+ mime: 3.0.0
+ node-fetch-native: 1.6.4
+ pathe: 1.1.2
unique-string@2.0.0:
dependencies:
@@ -15617,12 +15057,6 @@ snapshots:
unraw@3.0.0: {}
- update-browserslist-db@1.1.0(browserslist@4.23.3):
- dependencies:
- browserslist: 4.23.3
- escalade: 3.2.0
- picocolors: 1.1.0
-
update-browserslist-db@1.1.1(browserslist@4.24.2):
dependencies:
browserslist: 4.24.2
@@ -15689,7 +15123,7 @@ snapshots:
dequal: 2.0.3
react: 18.3.1
- use-intl@3.25.1(react@18.3.1):
+ use-intl@3.25.3(react@18.3.1):
dependencies:
'@formatjs/fast-memoize': 2.2.1
intl-messageformat: 10.7.1
@@ -15722,26 +15156,20 @@ snapshots:
util-deprecate@1.0.2: {}
- utils-merge@1.0.1:
- optional: true
-
uuid@10.0.0: {}
uuid@8.3.2: {}
- uuid@9.0.1: {}
-
v8-compile-cache-lib@3.0.1: {}
validate-npm-package-name@5.0.1: {}
- vary@1.1.2:
- optional: true
+ vary@1.1.2: {}
- video.js@8.19.1:
+ video.js@8.20.0:
dependencies:
'@babel/runtime': 7.25.6
- '@videojs/http-streaming': 3.15.0(video.js@8.19.1)
+ '@videojs/http-streaming': 3.16.1(video.js@8.20.0)
'@videojs/vhs-utils': 4.1.1
'@videojs/xhr': 2.7.0
aes-decrypter: 4.0.2
@@ -15749,14 +15177,14 @@ snapshots:
m3u8-parser: 7.2.0
mpd-parser: 1.3.1
mux.js: 7.0.3
- videojs-contrib-quality-levels: 4.1.0(video.js@8.19.1)
+ videojs-contrib-quality-levels: 4.1.0(video.js@8.20.0)
videojs-font: 4.2.0
videojs-vtt.js: 0.15.5
- videojs-contrib-quality-levels@4.1.0(video.js@8.19.1):
+ videojs-contrib-quality-levels@4.1.0(video.js@8.20.0):
dependencies:
global: 4.4.0
- video.js: 8.19.1
+ video.js: 8.20.0
videojs-font@4.2.0: {}
@@ -15764,13 +15192,13 @@ snapshots:
dependencies:
global: 4.4.0
- vite-node@2.1.5(@types/node@22.9.1)(sass@1.81.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0):
+ vite-node@2.1.6(@types/node@22.10.1)(sass@1.81.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0):
dependencies:
cac: 6.7.14
debug: 4.3.7
es-module-lexer: 1.5.4
pathe: 1.1.2
- vite: 5.4.5(@types/node@22.9.1)(sass@1.81.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0)
+ vite: 5.4.5(@types/node@22.10.1)(sass@1.81.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0)
transitivePeerDependencies:
- '@types/node'
- less
@@ -15782,38 +15210,38 @@ snapshots:
- supports-color
- terser
- vite-tsconfig-paths@5.1.3(typescript@5.6.3)(vite@5.4.5(@types/node@22.9.1)(sass@1.81.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0)):
+ vite-tsconfig-paths@5.1.3(typescript@5.7.2)(vite@5.4.5(@types/node@22.10.1)(sass@1.81.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0)):
dependencies:
debug: 4.3.7
globrex: 0.1.2
- tsconfck: 3.1.3(typescript@5.6.3)
+ tsconfck: 3.1.3(typescript@5.7.2)
optionalDependencies:
- vite: 5.4.5(@types/node@22.9.1)(sass@1.81.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0)
+ vite: 5.4.5(@types/node@22.10.1)(sass@1.81.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0)
transitivePeerDependencies:
- supports-color
- typescript
- vite@5.4.5(@types/node@22.9.1)(sass@1.81.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0):
+ vite@5.4.5(@types/node@22.10.1)(sass@1.81.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0):
dependencies:
esbuild: 0.21.5
postcss: 8.4.47
rollup: 4.21.3
optionalDependencies:
- '@types/node': 22.9.1
+ '@types/node': 22.10.1
fsevents: 2.3.3
sass: 1.81.0
sugarss: 4.0.1(postcss@8.4.47)
terser: 5.32.0
- vitest@2.1.5(@types/node@22.9.1)(@vitest/ui@2.1.5)(jsdom@25.0.1)(sass@1.81.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0):
+ vitest@2.1.6(@types/node@22.10.1)(@vitest/ui@2.1.6)(jsdom@25.0.1)(sass@1.81.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0):
dependencies:
- '@vitest/expect': 2.1.5
- '@vitest/mocker': 2.1.5(vite@5.4.5(@types/node@22.9.1)(sass@1.81.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0))
- '@vitest/pretty-format': 2.1.5
- '@vitest/runner': 2.1.5
- '@vitest/snapshot': 2.1.5
- '@vitest/spy': 2.1.5
- '@vitest/utils': 2.1.5
+ '@vitest/expect': 2.1.6
+ '@vitest/mocker': 2.1.6(vite@5.4.5(@types/node@22.10.1)(sass@1.81.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0))
+ '@vitest/pretty-format': 2.1.6
+ '@vitest/runner': 2.1.6
+ '@vitest/snapshot': 2.1.6
+ '@vitest/spy': 2.1.6
+ '@vitest/utils': 2.1.6
chai: 5.1.2
debug: 4.3.7
expect-type: 1.1.0
@@ -15824,12 +15252,12 @@ snapshots:
tinyexec: 0.3.1
tinypool: 1.0.1
tinyrainbow: 1.2.0
- vite: 5.4.5(@types/node@22.9.1)(sass@1.81.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0)
- vite-node: 2.1.5(@types/node@22.9.1)(sass@1.81.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0)
+ vite: 5.4.5(@types/node@22.10.1)(sass@1.81.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0)
+ vite-node: 2.1.6(@types/node@22.10.1)(sass@1.81.0)(sugarss@4.0.1(postcss@8.4.47))(terser@5.32.0)
why-is-node-running: 2.3.0
optionalDependencies:
- '@types/node': 22.9.1
- '@vitest/ui': 2.1.5(vitest@2.1.5)
+ '@types/node': 22.10.1
+ '@vitest/ui': 2.1.6(vitest@2.1.6)
jsdom: 25.0.1
transitivePeerDependencies:
- less
@@ -16089,7 +15517,7 @@ snapshots:
dependencies:
zod: 3.23.8
- zod-to-json-schema@3.23.3(zod@3.23.8):
+ zod-openapi@2.19.0(zod@3.23.8):
dependencies:
zod: 3.23.8
diff --git a/tooling/eslint/package.json b/tooling/eslint/package.json
index ce54975b8..d6f5a067b 100644
--- a/tooling/eslint/package.json
+++ b/tooling/eslint/package.json
@@ -18,18 +18,18 @@
"dependencies": {
"@next/eslint-plugin-next": "^14.2.18",
"eslint-config-prettier": "^9.1.0",
- "eslint-config-turbo": "^2.3.1",
+ "eslint-config-turbo": "^2.3.3",
"eslint-plugin-import": "^2.31.0",
"eslint-plugin-jsx-a11y": "^6.10.2",
"eslint-plugin-react": "^7.37.2",
"eslint-plugin-react-hooks": "^5.0.0",
- "typescript-eslint": "^8.15.0"
+ "typescript-eslint": "^8.16.0"
},
"devDependencies": {
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
"eslint": "^9.15.0",
- "typescript": "^5.6.3"
+ "typescript": "^5.7.2"
},
"prettier": "@homarr/prettier-config"
}
diff --git a/tooling/prettier/package.json b/tooling/prettier/package.json
index 92af0de78..b0cd18034 100644
--- a/tooling/prettier/package.json
+++ b/tooling/prettier/package.json
@@ -10,11 +10,11 @@
},
"dependencies": {
"@ianvs/prettier-plugin-sort-imports": "^4.4.0",
- "prettier": "^3.3.3"
+ "prettier": "^3.4.1"
},
"devDependencies": {
"@homarr/tsconfig": "workspace:^0.1.0",
- "typescript": "^5.6.3"
+ "typescript": "^5.7.2"
},
"prettier": "@homarr/prettier-config"
}
diff --git a/turbo/generators/templates/package.json.hbs b/turbo/generators/templates/package.json.hbs
index f870e9cd2..b8fda8d8e 100644
--- a/turbo/generators/templates/package.json.hbs
+++ b/turbo/generators/templates/package.json.hbs
@@ -24,8 +24,8 @@
"@homarr/eslint-config": "workspace:^0.2.0",
"@homarr/prettier-config": "workspace:^0.1.0",
"@homarr/tsconfig": "workspace:^0.1.0",
- "eslint": "^9.10.0",
- "typescript": "^5.6.2"
+ "eslint": "^9.15.0",
+ "typescript": "^5.6.3"
},
"prettier": "@homarr/prettier-config"
}
\ No newline at end of file