diff --git a/Dockerfile b/Dockerfile
index 242532634..c8f6a6f46 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -42,7 +42,7 @@ RUN chown -R node:node /app
USER node
-RUN pnpm install --frozen-lockfile --prod
+RUN pnpm install --frozen-lockfile --prod && rm -rf /home/node/.cache/pnpm
RUN mkdir -p /app/data/storage
diff --git a/apps/client/package.json b/apps/client/package.json
index dce7d5d7d..cca0ef4be 100644
--- a/apps/client/package.json
+++ b/apps/client/package.json
@@ -50,9 +50,9 @@
"katex": "0.16.40",
"lowlight": "3.3.0",
"mantine-form-zod-resolver": "1.3.0",
- "mermaid": "11.15.0",
+ "mermaid": "11.16.1",
"mitt": "3.0.1",
- "nanoid": "3.3.8",
+ "nanoid": "3.3.18",
"posthog-js": "1.391.2",
"react": "19.2.7",
"react-clear-modal": "^2.0.18",
@@ -61,7 +61,7 @@
"react-error-boundary": "6.1.1",
"react-helmet-async": "3.0.0",
"react-i18next": "16.5.8",
- "react-router-dom": "7.18.0",
+ "react-router-dom": "7.18.2",
"semver": "7.7.4",
"socket.io-client": "4.8.3",
"zod": "4.3.6"
@@ -86,7 +86,7 @@
"globals": "15.13.0",
"jsdom": "25.0.0",
"optics-ts": "2.4.1",
- "postcss": "8.5.14",
+ "postcss": "8.5.25",
"postcss-preset-mantine": "1.18.0",
"postcss-simple-vars": "7.0.1",
"prettier": "3.8.1",
diff --git a/apps/client/public/locales/en-US/translation.json b/apps/client/public/locales/en-US/translation.json
index 18c981434..03e10c53e 100644
--- a/apps/client/public/locales/en-US/translation.json
+++ b/apps/client/public/locales/en-US/translation.json
@@ -387,6 +387,8 @@
"Insert horizontal rule divider": "Insert horizontal rule divider",
"Page break": "Page break",
"Insert a page break for printing.": "Insert a page break for printing.",
+ "Footnote": "Footnote",
+ "Insert a footnote reference.": "Insert a footnote reference.",
"Upload any image from your device.": "Upload any image from your device.",
"Upload any video from your device.": "Upload any video from your device.",
"Upload any audio from your device.": "Upload any audio from your device.",
@@ -1289,5 +1291,16 @@
"{{count}} rows deleted_one": "1 row deleted",
"{{count}} rows deleted_other": "{{count}} rows deleted",
"{{count}} selected_one": "1 selected",
- "{{count}} selected_other": "{{count}} selected"
+ "{{count}} selected_other": "{{count}} selected",
+ "Compare": "Compare",
+ "Compare versions": "Compare versions",
+ "Select version from {{date}}": "Select version from {{date}}",
+ "Version actions for {{date}}": "Version actions for {{date}}",
+ "Comparing {{newer}} and {{older}}": "Comparing {{newer}} and {{older}}",
+ "Exit compare": "Exit compare",
+ "Search attachments...": "Search attachments...",
+ "Error loading attachments.": "Error loading attachments.",
+ "No attachments on this page yet.": "No attachments on this page yet.",
+ "Uploaded by {{name}}": "Uploaded by {{name}}",
+ "Download {{name}}": "Download {{name}}"
}
diff --git a/apps/client/src/components/ui/document-title.test.tsx b/apps/client/src/components/ui/document-title.test.tsx
new file mode 100644
index 000000000..1376bc3a6
--- /dev/null
+++ b/apps/client/src/components/ui/document-title.test.tsx
@@ -0,0 +1,45 @@
+import { describe, expect, it, beforeEach } from "vitest";
+import { render } from "@testing-library/react";
+import { HelmetProvider } from "react-helmet-async";
+import { DocumentTitle } from "./document-title.tsx";
+
+const renderTitle = (ui: React.ReactNode) =>
+ render({ui});
+
+describe("DocumentTitle", () => {
+ beforeEach(() => {
+ document.head.innerHTML = "
Docmost";
+ });
+
+ it("appends the app name", () => {
+ renderTitle();
+ expect(document.title).toBe("Home - Docmost");
+ });
+
+ it("omits the app name when asked", () => {
+ renderTitle();
+ expect(document.title).toBe("My page");
+ });
+
+ it("falls back to the app name without a title", () => {
+ renderTitle();
+ expect(document.title).toBe("Docmost");
+ });
+
+ it("never renders an empty title", () => {
+ renderTitle();
+ const titles = Array.from(document.querySelectorAll("head > title"));
+ expect(titles.every((node) => node.textContent !== "")).toBe(true);
+ });
+
+ it("renders extra head children", () => {
+ renderTitle(
+
+
+ ,
+ );
+ expect(
+ document.querySelector('head > meta[name="robots"]')?.getAttribute("content"),
+ ).toBe("noindex");
+ });
+});
diff --git a/apps/client/src/components/ui/document-title.tsx b/apps/client/src/components/ui/document-title.tsx
new file mode 100644
index 000000000..fe878fd5a
--- /dev/null
+++ b/apps/client/src/components/ui/document-title.tsx
@@ -0,0 +1,29 @@
+import React from "react";
+import { Helmet } from "react-helmet-async";
+import { getAppName } from "@/lib/config.ts";
+
+type DocumentTitleProps = {
+ title?: string;
+ withAppName?: boolean;
+ children?: React.ReactNode;
+};
+
+export function DocumentTitle({
+ title,
+ withAppName = true,
+ children,
+}: DocumentTitleProps) {
+ const appName = getAppName();
+
+ let documentTitle = appName;
+ if (title) {
+ documentTitle = withAppName ? `${title} - ${appName}` : title;
+ }
+
+ return (
+
+ {documentTitle}
+ {children}
+
+ );
+}
diff --git a/apps/client/src/components/ui/error-404.tsx b/apps/client/src/components/ui/error-404.tsx
index 8c8846aeb..3065b7ecc 100644
--- a/apps/client/src/components/ui/error-404.tsx
+++ b/apps/client/src/components/ui/error-404.tsx
@@ -1,17 +1,15 @@
import { Title, Text, Button, Container, Group } from "@mantine/core";
import classes from "./error-404.module.css";
import { Link } from "react-router-dom";
-import { Helmet } from "react-helmet-async";
import { useTranslation } from "react-i18next";
+import { DocumentTitle } from "@/components/ui/document-title.tsx";
export function Error404() {
const { t } = useTranslation();
return (
<>
-
- {t("404 page not found")} - Docmost
-
+
{t("404 page not found")}
diff --git a/apps/client/src/ee/ai-chat/components/chat-input.tsx b/apps/client/src/ee/ai-chat/components/chat-input.tsx
index d01381874..d99479d0d 100644
--- a/apps/client/src/ee/ai-chat/components/chat-input.tsx
+++ b/apps/client/src/ee/ai-chat/components/chat-input.tsx
@@ -255,6 +255,7 @@ export default function ChatInput({
},
content: "",
editable: true,
+ textDirection: "auto",
immediatelyRender: true,
shouldRerenderOnTransaction: false,
autofocus: autofocus ? "end" : false,
diff --git a/apps/client/src/ee/ai/pages/ai-settings.tsx b/apps/client/src/ee/ai/pages/ai-settings.tsx
index 3a5a281ef..ad678bbcb 100644
--- a/apps/client/src/ee/ai/pages/ai-settings.tsx
+++ b/apps/client/src/ee/ai/pages/ai-settings.tsx
@@ -1,5 +1,3 @@
-import { Helmet } from "react-helmet-async";
-import { getAppName } from "@/lib/config.ts";
import SettingsTitle from "@/components/settings/settings-title.tsx";
import React from "react";
import useUserRole from "@/hooks/use-user-role.tsx";
@@ -15,6 +13,7 @@ import { Feature } from "@/ee/features";
import { useUpgradeLabel } from "@/ee/hooks/use-upgrade-label";
import { isCloud } from "@/lib/config.ts";
import { useLocation, useNavigate } from "react-router-dom";
+import { DocumentTitle } from "@/components/ui/document-title.tsx";
export default function AiSettings() {
const { t } = useTranslation();
@@ -40,9 +39,7 @@ export default function AiSettings() {
return (
<>
-
- AI settings - {getAppName()}
-
+
diff --git a/apps/client/src/ee/ai/services/ai-search-service.ts b/apps/client/src/ee/ai/services/ai-search-service.ts
index 8c2af64a8..d580a2090 100644
--- a/apps/client/src/ee/ai/services/ai-search-service.ts
+++ b/apps/client/src/ee/ai/services/ai-search-service.ts
@@ -15,6 +15,14 @@ export interface IAiSearchResponse {
}>;
}
+export async function hintVectorCache(): Promise {
+ try {
+ await api.post("/ai/vector-cache-hint");
+ } catch {
+ // best-effort cache hint
+ }
+}
+
export async function aiAnswers(
params: IPageSearchParams,
onChunk?: (chunk: { content?: string; sources?: any[] }) => void,
diff --git a/apps/client/src/ee/api-key/pages/user-api-keys.tsx b/apps/client/src/ee/api-key/pages/user-api-keys.tsx
index c305f4afb..2b2572200 100644
--- a/apps/client/src/ee/api-key/pages/user-api-keys.tsx
+++ b/apps/client/src/ee/api-key/pages/user-api-keys.tsx
@@ -1,10 +1,9 @@
import React, { useState } from "react";
import { Anchor, Alert, Button, Group, Space, Text } from "@mantine/core";
import { IconInfoCircle } from "@tabler/icons-react";
-import { Helmet } from "react-helmet-async";
import { Trans, useTranslation } from "react-i18next";
import SettingsTitle from "@/components/settings/settings-title";
-import { getAppName, getAppUrl } from "@/lib/config";
+import { getAppUrl } from "@/lib/config";
import { ApiKeyTable } from "@/ee/api-key/components/api-key-table";
import { CreateApiKeyModal } from "@/ee/api-key/components/create-api-key-modal";
import { ApiKeyCreatedModal } from "@/ee/api-key/components/api-key-created-modal";
@@ -17,6 +16,7 @@ import { IApiKey } from "@/ee/api-key";
import { useAtom } from "jotai";
import { workspaceAtom } from "@/features/user/atoms/current-user-atom.ts";
import useUserRole from "@/hooks/use-user-role.tsx";
+import { DocumentTitle } from "@/components/ui/document-title.tsx";
export default function UserApiKeys() {
const { t } = useTranslation();
@@ -49,11 +49,7 @@ export default function UserApiKeys() {
return (
<>
-
-
- {t("API keys")} - {getAppName()}
-
-
+
diff --git a/apps/client/src/ee/api-key/pages/workspace-api-keys.tsx b/apps/client/src/ee/api-key/pages/workspace-api-keys.tsx
index 8476f4457..6a819bbcb 100644
--- a/apps/client/src/ee/api-key/pages/workspace-api-keys.tsx
+++ b/apps/client/src/ee/api-key/pages/workspace-api-keys.tsx
@@ -1,9 +1,7 @@
import React, { useState } from "react";
import { Anchor, Button, Divider, Group, Space, Text } from "@mantine/core";
-import { Helmet } from "react-helmet-async";
import { Trans, useTranslation } from "react-i18next";
import SettingsTitle from "@/components/settings/settings-title";
-import { getAppName } from "@/lib/config";
import { ApiKeyTable } from "@/ee/api-key/components/api-key-table";
import { CreateApiKeyModal } from "@/ee/api-key/components/create-api-key-modal";
import { ApiKeyCreatedModal } from "@/ee/api-key/components/api-key-created-modal";
@@ -15,6 +13,7 @@ import { useGetApiKeysQuery } from "@/ee/api-key/queries/api-key-query.ts";
import { IApiKey } from "@/ee/api-key";
import useUserRole from '@/hooks/use-user-role.tsx';
import RestrictApiToAdmins from "@/ee/api-key/components/restrict-api-to-admins";
+import { DocumentTitle } from "@/components/ui/document-title.tsx";
export default function WorkspaceApiKeys() {
const { t } = useTranslation();
@@ -47,11 +46,7 @@ export default function WorkspaceApiKeys() {
return (
<>
-
-
- {t("API management")} - {getAppName()}
-
-
+
diff --git a/apps/client/src/ee/audit/pages/audit-logs.tsx b/apps/client/src/ee/audit/pages/audit-logs.tsx
index 05f7881ad..811e094e8 100644
--- a/apps/client/src/ee/audit/pages/audit-logs.tsx
+++ b/apps/client/src/ee/audit/pages/audit-logs.tsx
@@ -10,11 +10,9 @@ import {
Text,
Tooltip,
} from "@mantine/core";
-import { Helmet } from "react-helmet-async";
import { useTranslation } from "react-i18next";
import { IconSettings } from "@tabler/icons-react";
import SettingsTitle from "@/components/settings/settings-title";
-import { getAppName } from "@/lib/config";
import Paginate from "@/components/common/paginate";
import { useCursorPaginate } from "@/hooks/use-cursor-paginate";
import {
@@ -26,6 +24,7 @@ import { IAuditLogParams } from "@/ee/audit/types/audit.types";
import { eventFilterOptions } from "@/ee/audit/lib/audit-event-labels";
import AuditLogsTable from "@/ee/audit/components/audit-logs-table";
import useUserRole from "@/hooks/use-user-role";
+import { DocumentTitle } from "@/components/ui/document-title.tsx";
type RetentionUnit = "days" | "months" | "years";
@@ -97,11 +96,7 @@ export default function AuditLogs() {
return (
<>
-
-
- {t("Audit log")} - {getAppName()}
-
-
+
diff --git a/apps/client/src/ee/billing/pages/billing.tsx b/apps/client/src/ee/billing/pages/billing.tsx
index a389a1e58..9f47b9a58 100644
--- a/apps/client/src/ee/billing/pages/billing.tsx
+++ b/apps/client/src/ee/billing/pages/billing.tsx
@@ -1,5 +1,3 @@
-import { Helmet } from "react-helmet-async";
-import { getAppName } from "@/lib/config.ts";
import SettingsTitle from "@/components/settings/settings-title.tsx";
import BillingPlans from "@/ee/billing/components/billing-plans.tsx";
import BillingTrial from "@/ee/billing/components/billing-trial.tsx";
@@ -9,6 +7,7 @@ import React from "react";
import BillingDetails from "@/ee/billing/components/billing-details.tsx";
import { useBillingQuery } from "@/ee/billing/queries/billing-query.ts";
import useUserRole from "@/hooks/use-user-role.tsx";
+import { DocumentTitle } from "@/components/ui/document-title.tsx";
export default function Billing() {
const { data: billing, isError: isBillingError } = useBillingQuery();
@@ -20,9 +19,7 @@ export default function Billing() {
return (
<>
-
- Billing - {getAppName()}
-
+
diff --git a/apps/client/src/ee/licence/pages/license.tsx b/apps/client/src/ee/licence/pages/license.tsx
index 0aa9d2f58..1e9727d23 100644
--- a/apps/client/src/ee/licence/pages/license.tsx
+++ b/apps/client/src/ee/licence/pages/license.tsx
@@ -1,5 +1,3 @@
-import { Helmet } from "react-helmet-async";
-import { getAppName } from "@/lib/config.ts";
import SettingsTitle from "@/components/settings/settings-title.tsx";
import React from "react";
import useUserRole from "@/hooks/use-user-role.tsx";
@@ -9,6 +7,7 @@ import InstallationDetails from "@/ee/licence/components/installation-details.ts
import OssDetails from "@/ee/licence/components/oss-details.tsx";
import { useAtom } from "jotai/index";
import { entitlementAtom } from "@/ee/entitlement/entitlement-atom";
+import { DocumentTitle } from "@/components/ui/document-title.tsx";
export default function License() {
const [entitlements] = useAtom(entitlementAtom);
@@ -21,9 +20,7 @@ export default function License() {
return (
<>
-
- License - {getAppName()}
-
+
diff --git a/apps/client/src/ee/page-verification/pages/verified-pages.tsx b/apps/client/src/ee/page-verification/pages/verified-pages.tsx
index 51786e5a1..15b7badad 100644
--- a/apps/client/src/ee/page-verification/pages/verified-pages.tsx
+++ b/apps/client/src/ee/page-verification/pages/verified-pages.tsx
@@ -1,17 +1,16 @@
import { useState, useMemo } from "react";
import { Group, MultiSelect, Select, Space, TextInput } from "@mantine/core";
import { useDebouncedValue } from "@mantine/hooks";
-import { Helmet } from "react-helmet-async";
import { useTranslation } from "react-i18next";
import { IconSearch } from "@tabler/icons-react";
import SettingsTitle from "@/components/settings/settings-title";
-import { getAppName } from "@/lib/config";
import Paginate from "@/components/common/paginate";
import { useCursorPaginate } from "@/hooks/use-cursor-paginate";
import { useVerificationListQuery } from "@/ee/page-verification/queries/page-verification-query";
import { IVerificationListParams } from "@/ee/page-verification/types/page-verification.types";
import VerificationListTable from "@/ee/page-verification/components/verification-list-table";
import { useGetSpacesQuery } from "@/features/space/queries/space-query";
+import { DocumentTitle } from "@/components/ui/document-title.tsx";
export default function VerifiedPages() {
const { t } = useTranslation();
@@ -68,11 +67,7 @@ export default function VerifiedPages() {
return (
<>
-
-
- {t("Verified pages")} - {getAppName()}
-
-
+
diff --git a/apps/client/src/ee/pages/cloud-login.tsx b/apps/client/src/ee/pages/cloud-login.tsx
index c0a40a0d4..14de528b8 100644
--- a/apps/client/src/ee/pages/cloud-login.tsx
+++ b/apps/client/src/ee/pages/cloud-login.tsx
@@ -1,18 +1,13 @@
-import { Helmet } from "react-helmet-async";
-import { getAppName } from "@/lib/config.ts";
import { CloudLoginForm } from "@/ee/components/cloud-login-form.tsx";
import { useTranslation } from "react-i18next";
+import { DocumentTitle } from "@/components/ui/document-title.tsx";
export default function CloudLogin() {
const { t } = useTranslation();
return (
<>
-
-
- {t("Login")} - {getAppName()}
-
-
+
>
diff --git a/apps/client/src/ee/pages/create-workspace.tsx b/apps/client/src/ee/pages/create-workspace.tsx
index fb335d662..f681e65e9 100644
--- a/apps/client/src/ee/pages/create-workspace.tsx
+++ b/apps/client/src/ee/pages/create-workspace.tsx
@@ -1,14 +1,11 @@
import { SetupWorkspaceForm } from "@/features/auth/components/setup-workspace-form.tsx";
-import { Helmet } from "react-helmet-async";
import React from "react";
-import { getAppName } from "@/lib/config.ts";
+import { DocumentTitle } from "@/components/ui/document-title.tsx";
export default function CreateWorkspace() {
return (
<>
-
- Create Workspace - {getAppName()}
-
+
>
);
diff --git a/apps/client/src/ee/security/pages/security.tsx b/apps/client/src/ee/security/pages/security.tsx
index 2ff3670be..de3a7073b 100644
--- a/apps/client/src/ee/security/pages/security.tsx
+++ b/apps/client/src/ee/security/pages/security.tsx
@@ -1,5 +1,4 @@
-import { Helmet } from "react-helmet-async";
-import { getAppName, isCloud } from "@/lib/config.ts";
+import { isCloud } from "@/lib/config.ts";
import SettingsTitle from "@/components/settings/settings-title.tsx";
import {
Alert,
@@ -37,6 +36,7 @@ import EnableScim from "@/ee/scim/components/enable-scim";
import { useCursorPaginate } from "@/hooks/use-cursor-paginate";
import Paginate from "@/components/common/paginate";
import { IScimToken } from "@/ee/scim/types/scim-token.types";
+import { DocumentTitle } from "@/components/ui/document-title.tsx";
const SCIM_TOKEN_LIMIT = 5;
@@ -64,9 +64,7 @@ export default function Security() {
return (
<>
-
- Security - {getAppName()}
-
+
diff --git a/apps/client/src/ee/template/components/readonly-template-editor.tsx b/apps/client/src/ee/template/components/readonly-template-editor.tsx
index ca3c4b2ce..6088cb866 100644
--- a/apps/client/src/ee/template/components/readonly-template-editor.tsx
+++ b/apps/client/src/ee/template/components/readonly-template-editor.tsx
@@ -41,6 +41,7 @@ export default function ReadonlyTemplateEditor({
diff --git a/apps/client/src/ee/template/pages/template-editor.tsx b/apps/client/src/ee/template/pages/template-editor.tsx
index 2b4069978..1c8810ce2 100644
--- a/apps/client/src/ee/template/pages/template-editor.tsx
+++ b/apps/client/src/ee/template/pages/template-editor.tsx
@@ -22,8 +22,6 @@ import { useTranslation } from "react-i18next";
import { useDisclosure, useWindowEvent } from "@mantine/hooks";
import { notifications } from "@mantine/notifications";
import { Link, useParams } from "react-router-dom";
-import { Helmet } from "react-helmet-async";
-import { getAppName } from "@/lib/config";
import { useEditor, EditorContent } from "@tiptap/react";
import { templateExtensions } from "@/features/editor/extensions/extensions";
import {
@@ -44,6 +42,7 @@ import CalloutMenu from "@/features/editor/components/callout/callout-menu.tsx";
import ColumnsMenu from "@/features/editor/components/columns/columns-menu.tsx";
import classes from "./template-editor.module.css";
+import { DocumentTitle } from "@/components/ui/document-title.tsx";
export default function TemplateEditor() {
const { t } = useTranslation();
@@ -88,6 +87,7 @@ export default function TemplateEditor() {
const editor = useEditor({
extensions: templateExtensions,
content: "",
+ textDirection: "auto",
editorProps: {
scrollThreshold: 80,
scrollMargin: 80,
@@ -247,11 +247,7 @@ export default function TemplateEditor() {
return (
<>
-
-
- {t("Edit template")} - {getAppName()}
-
-
+
{editorToolbarEnabled && editor && (
diff --git a/apps/client/src/ee/template/pages/template-list.tsx b/apps/client/src/ee/template/pages/template-list.tsx
index fafd4c117..7fc740304 100644
--- a/apps/client/src/ee/template/pages/template-list.tsx
+++ b/apps/client/src/ee/template/pages/template-list.tsx
@@ -13,11 +13,9 @@ import {
} from "@mantine/core";
import { modals } from "@mantine/modals";
import { IconPlus } from "@tabler/icons-react";
-import { Helmet } from "react-helmet-async";
import { useTranslation } from "react-i18next";
import { useNavigate } from "react-router-dom";
import { useDisclosure } from "@mantine/hooks";
-import { getAppName } from "@/lib/config";
import {
useGetTemplatesQuery,
useDeleteTemplateMutation,
@@ -31,6 +29,7 @@ import useUserRole from "@/hooks/use-user-role";
import CreateTemplateModal from "@/ee/template/components/create-template-modal";
import { useAtomValue } from "jotai";
import { workspaceAtom } from "@/features/user/atoms/current-user-atom";
+import { DocumentTitle } from "@/components/ui/document-title.tsx";
export default function TemplateList() {
const { t } = useTranslation();
@@ -102,11 +101,7 @@ export default function TemplateList() {
return (
<>
-
-
- {t("Templates")} - {getAppName()}
-
-
+
diff --git a/apps/client/src/features/attachments/components/attachment-file-icon.tsx b/apps/client/src/features/attachments/components/attachment-file-icon.tsx
new file mode 100644
index 000000000..b28e8de2c
--- /dev/null
+++ b/apps/client/src/features/attachments/components/attachment-file-icon.tsx
@@ -0,0 +1,59 @@
+import { ThemeIcon } from "@mantine/core";
+import {
+ IconFile,
+ IconFileTypeCsv,
+ IconFileTypeDocx,
+ IconFileTypePdf,
+ IconFileTypePpt,
+ IconFileTypeXls,
+ IconFileZip,
+ IconMovie,
+ IconMusic,
+ IconPhoto,
+ type Icon,
+} from "@tabler/icons-react";
+
+const EXT_ICONS: Record = {
+ ".pdf": { icon: IconFileTypePdf, color: "red" },
+ ".doc": { icon: IconFileTypeDocx, color: "blue" },
+ ".docx": { icon: IconFileTypeDocx, color: "blue" },
+ ".xls": { icon: IconFileTypeXls, color: "teal" },
+ ".xlsx": { icon: IconFileTypeXls, color: "teal" },
+ ".csv": { icon: IconFileTypeCsv, color: "teal" },
+ ".ppt": { icon: IconFileTypePpt, color: "orange" },
+ ".pptx": { icon: IconFileTypePpt, color: "orange" },
+ ".zip": { icon: IconFileZip, color: "gray" },
+ ".rar": { icon: IconFileZip, color: "gray" },
+ ".7z": { icon: IconFileZip, color: "gray" },
+ ".tar": { icon: IconFileZip, color: "gray" },
+ ".gz": { icon: IconFileZip, color: "gray" },
+};
+
+const MIME_ICONS: Array<{ prefix: string; icon: Icon; color: string }> = [
+ { prefix: "image/", icon: IconPhoto, color: "grape" },
+ { prefix: "video/", icon: IconMovie, color: "violet" },
+ { prefix: "audio/", icon: IconMusic, color: "pink" },
+];
+
+interface AttachmentFileIconProps {
+ fileExt?: string;
+ mimeType?: string;
+}
+
+export function AttachmentFileIcon({
+ fileExt,
+ mimeType,
+}: AttachmentFileIconProps) {
+ const byExt = fileExt ? EXT_ICONS[fileExt.toLowerCase()] : undefined;
+ const byMime = mimeType
+ ? MIME_ICONS.find((entry) => mimeType.startsWith(entry.prefix))
+ : undefined;
+ const { icon: FileIcon, color } = byExt ??
+ byMime ?? { icon: IconFile, color: "gray" };
+
+ return (
+
+
+
+ );
+}
diff --git a/apps/client/src/features/attachments/components/page-attachments-modal.tsx b/apps/client/src/features/attachments/components/page-attachments-modal.tsx
new file mode 100644
index 000000000..53189b749
--- /dev/null
+++ b/apps/client/src/features/attachments/components/page-attachments-modal.tsx
@@ -0,0 +1,191 @@
+import { useCallback, useEffect, useMemo, useRef, useState } from "react";
+import {
+ ActionIcon,
+ Anchor,
+ Center,
+ Group,
+ Loader,
+ Modal,
+ ScrollArea,
+ Text,
+ Tooltip,
+} from "@mantine/core";
+import { IconDownload } from "@tabler/icons-react";
+import { useTranslation } from "react-i18next";
+import { SearchInput } from "@/components/common/search-input.tsx";
+import { CustomAvatar } from "@/components/ui/custom-avatar.tsx";
+import { usePageAttachmentsQuery } from "@/features/attachments/queries/attachment-query.ts";
+import { IPageAttachment } from "@/features/attachments/types/attachment.types.ts";
+import { AttachmentFileIcon } from "@/features/attachments/components/attachment-file-icon.tsx";
+import { formatBytes } from "@/lib";
+import { getFileUrl } from "@/lib/config.ts";
+import { formattedDate } from "@/lib/time.ts";
+
+interface PageAttachmentsModalProps {
+ pageId: string;
+ open: boolean;
+ onClose: () => void;
+}
+
+export default function PageAttachmentsModal({
+ pageId,
+ open,
+ onClose,
+}: PageAttachmentsModalProps) {
+ const { t } = useTranslation();
+
+ return (
+
+
+
+ );
+}
+
+function PageAttachmentsList({ pageId }: { pageId: string }) {
+ const { t } = useTranslation();
+ const [search, setSearch] = useState("");
+ const {
+ data,
+ isLoading,
+ isError,
+ isFetching,
+ fetchNextPage,
+ hasNextPage,
+ isFetchingNextPage,
+ } = usePageAttachmentsQuery(pageId, search);
+
+ const attachments = useMemo(
+ () => data?.pages.flatMap((page) => page.items) ?? [],
+ [data],
+ );
+
+ const loadMoreRef = useRef(null);
+
+ useEffect(() => {
+ const sentinel = loadMoreRef.current;
+ if (!sentinel || !hasNextPage) return;
+
+ const observer = new IntersectionObserver(
+ (entries) => {
+ if (entries[0].isIntersecting && !isFetching) {
+ fetchNextPage();
+ }
+ },
+ { threshold: 0.1 },
+ );
+
+ observer.observe(sentinel);
+ return () => observer.disconnect();
+ }, [fetchNextPage, hasNextPage, isFetching]);
+
+ const handleSearch = useCallback((value: string) => setSearch(value), []);
+
+ return (
+ <>
+
+
+ {isLoading ? (
+
+
+
+ ) : isError ? (
+
+
+ {t("Error loading attachments.")}
+
+
+ ) : attachments.length === 0 ? (
+
+
+ {search
+ ? t("No results found")
+ : t("No attachments on this page yet.")}
+
+
+ ) : (
+
+ {attachments.map((attachment) => (
+
+ ))}
+ {hasNextPage && }
+ {isFetchingNextPage && (
+
+
+
+ )}
+
+ )}
+ >
+ );
+}
+
+function AttachmentRow({ attachment }: { attachment: IPageAttachment }) {
+ const { t } = useTranslation();
+ const fileUrl = getFileUrl(attachment.url);
+
+ return (
+
+
+
+
+
+ {attachment.fileName}
+
+
+ {formatBytes(Number(attachment.fileSize))}
+ {" ยท "}
+ {formattedDate(new Date(attachment.createdAt))}
+
+
+
+ {attachment.creator && (
+
+
+
+ )}
+
+
+
+
+
+
+
+ );
+}
diff --git a/apps/client/src/features/attachments/queries/attachment-query.ts b/apps/client/src/features/attachments/queries/attachment-query.ts
new file mode 100644
index 000000000..e9630bdd6
--- /dev/null
+++ b/apps/client/src/features/attachments/queries/attachment-query.ts
@@ -0,0 +1,25 @@
+import {
+ InfiniteData,
+ keepPreviousData,
+ useInfiniteQuery,
+ UseInfiniteQueryResult,
+} from "@tanstack/react-query";
+import { getPageAttachments } from "@/features/attachments/services/attachment-service.ts";
+import { IPageAttachment } from "@/features/attachments/types/attachment.types.ts";
+import { IPagination } from "@/lib/types.ts";
+
+export function usePageAttachmentsQuery(
+ pageId: string,
+ search?: string,
+): UseInfiniteQueryResult, unknown>> {
+ return useInfiniteQuery({
+ queryKey: ["page-attachments", pageId, search],
+ queryFn: ({ pageParam }) =>
+ getPageAttachments(pageId, { cursor: pageParam, query: search }),
+ enabled: !!pageId,
+ gcTime: 0,
+ placeholderData: keepPreviousData,
+ initialPageParam: undefined,
+ getNextPageParam: (lastPage) => lastPage.meta?.nextCursor ?? undefined,
+ });
+}
diff --git a/apps/client/src/features/attachments/services/attachment-service.ts b/apps/client/src/features/attachments/services/attachment-service.ts
index fa43da3ca..e129c248e 100644
--- a/apps/client/src/features/attachments/services/attachment-service.ts
+++ b/apps/client/src/features/attachments/services/attachment-service.ts
@@ -3,7 +3,17 @@ import loadImage from "blueimp-load-image";
import {
AvatarIconType,
IAttachment,
+ IPageAttachment,
} from "@/features/attachments/types/attachment.types.ts";
+import { IPagination, QueryParams } from "@/lib/types.ts";
+
+export async function getPageAttachments(
+ pageId: string,
+ params?: QueryParams,
+): Promise> {
+ const req = await api.post("/pages/attachments", { pageId, ...params });
+ return req.data;
+}
async function compressAndResizeIcon(
file: File,
diff --git a/apps/client/src/features/attachments/services/index.ts b/apps/client/src/features/attachments/services/index.ts
index 1732ba9fb..07e96c6ba 100644
--- a/apps/client/src/features/attachments/services/index.ts
+++ b/apps/client/src/features/attachments/services/index.ts
@@ -1,4 +1,5 @@
export {
+ getPageAttachments,
uploadIcon,
uploadUserAvatar,
uploadSpaceIcon,
diff --git a/apps/client/src/features/attachments/types/attachment.types.ts b/apps/client/src/features/attachments/types/attachment.types.ts
index 018d8c7c1..ca4517517 100644
--- a/apps/client/src/features/attachments/types/attachment.types.ts
+++ b/apps/client/src/features/attachments/types/attachment.types.ts
@@ -15,6 +15,15 @@ export interface IAttachment {
deletedAt: string | null;
}
+export interface IPageAttachment extends IAttachment {
+ url: string;
+ creator: {
+ id: string;
+ name: string;
+ avatarUrl: string | null;
+ } | null;
+}
+
export enum AvatarIconType {
AVATAR = "avatar",
SPACE_ICON = "space-icon",
diff --git a/apps/client/src/features/comment/components/comment-editor.tsx b/apps/client/src/features/comment/components/comment-editor.tsx
index eeb0983a0..520877c85 100644
--- a/apps/client/src/features/comment/components/comment-editor.tsx
+++ b/apps/client/src/features/comment/components/comment-editor.tsx
@@ -103,6 +103,7 @@ const CommentEditor = forwardRef(
},
content: defaultContent,
editable,
+ textDirection: "auto",
immediatelyRender: true,
shouldRerenderOnTransaction: false,
autofocus: (autofocus && "end") || false,
diff --git a/apps/client/src/features/editor/components/fixed-toolbar/groups/more-inserts-group.tsx b/apps/client/src/features/editor/components/fixed-toolbar/groups/more-inserts-group.tsx
index b12f609cf..f2ae8b912 100644
--- a/apps/client/src/features/editor/components/fixed-toolbar/groups/more-inserts-group.tsx
+++ b/apps/client/src/features/editor/components/fixed-toolbar/groups/more-inserts-group.tsx
@@ -12,6 +12,7 @@ import {
IconMathFunction,
IconRotate2,
IconSitemap,
+ IconSuperscript,
IconTable,
IconTag,
} from "@tabler/icons-react";
@@ -270,6 +271,12 @@ export const MoreInsertsGroup: FC = ({ editor, templateMode }) => {
>
{t("Math block")}
+ }
+ onClick={() => editor.chain().focus().addFootnote().run()}
+ >
+ {t("Footnote")}
+
);
diff --git a/apps/client/src/features/editor/components/slash-menu/menu-items.ts b/apps/client/src/features/editor/components/slash-menu/menu-items.ts
index 0327acdde..d8598c5ea 100644
--- a/apps/client/src/features/editor/components/slash-menu/menu-items.ts
+++ b/apps/client/src/features/editor/components/slash-menu/menu-items.ts
@@ -30,6 +30,7 @@ import {
IconTag,
IconMoodSmile,
IconRotate2,
+ IconSuperscript,
} from "@tabler/icons-react";
import {
CommandProps,
@@ -177,6 +178,16 @@ const CommandGroups: SlashMenuGroupedItemsType = {
command: ({ editor, range }: CommandProps) =>
editor.chain().focus().deleteRange(range).setPageBreak().run(),
},
+ {
+ title: "Footnote",
+ description: "Insert a footnote reference.",
+ searchTerms: ["footnote", "reference", "citation", "note"],
+ icon: IconSuperscript,
+ command: ({ editor, range }: CommandProps) => {
+ editor.chain().focus().deleteRange(range).run();
+ editor.commands.addFootnote();
+ },
+ },
{
title: "Image",
description: "Upload any image from your device.",
diff --git a/apps/client/src/features/editor/components/transclusion/transclusion-content.tsx b/apps/client/src/features/editor/components/transclusion/transclusion-content.tsx
index 946291225..828c42bbc 100644
--- a/apps/client/src/features/editor/components/transclusion/transclusion-content.tsx
+++ b/apps/client/src/features/editor/components/transclusion/transclusion-content.tsx
@@ -40,6 +40,7 @@ export default function TransclusionContent({ content }: Props) {
diff --git a/apps/client/src/features/editor/extensions/extensions.ts b/apps/client/src/features/editor/extensions/extensions.ts
index 040347d0b..c72456e6e 100644
--- a/apps/client/src/features/editor/extensions/extensions.ts
+++ b/apps/client/src/features/editor/extensions/extensions.ts
@@ -1,9 +1,11 @@
import { markInputRule } from "@tiptap/core";
import { StarterKit } from "@tiptap/starter-kit";
+import { Document } from "@tiptap/extension-document";
import { Code } from "@tiptap/extension-code";
import { TextAlign } from "@tiptap/extension-text-align";
import { TaskList, TaskItem } from "@tiptap/extension-list";
-import { Placeholder, CharacterCount, UndoRedo } from "@tiptap/extensions";
+import { CharacterCount, UndoRedo } from "@tiptap/extensions";
+import { Placeholder } from "@/features/editor/extensions/placeholder";
import { Superscript } from "@tiptap/extension-superscript";
import SubScript from "@tiptap/extension-subscript";
import { Typography } from "@tiptap/extension-typography";
@@ -62,6 +64,9 @@ import {
TransclusionReference,
TableView,
BaseEmbed as BaseEmbedNode,
+ Footnotes,
+ Footnote,
+ FootnoteReference,
} from "@docmost/editor-ext";
import {
randomElement,
@@ -131,6 +136,7 @@ lowlight.register("scala", scala);
// @ts-ignore
export const mainExtensions = [
StarterKit.configure({
+ document: false,
heading: false,
undoRedo: false,
link: false,
@@ -142,6 +148,9 @@ export const mainExtensions = [
codeBlock: false,
code: false,
}),
+ Document.extend({
+ content: "block+ footnotes?",
+ }),
// Override TipTap's Code extension to fix the inline code input rule.
// The upstream regex /(^|[^`])`([^`]+)`(?!`)$/ captures the character
// before the opening backtick as part of the match, causing markInputRule
@@ -194,16 +203,19 @@ export const mainExtensions = [
return i18n.t("Toggle title");
}
if (node.type.name === "paragraph") {
- const $pos = editor.state.doc.resolve(pos);
- const parentName = $pos.parent.type.name;
- if (
- parentName === "column" ||
- parentName === "tableCell" ||
- parentName === "tableHeader" ||
- parentName === "callout" ||
- parentName === "blockquote"
- ) {
- return i18n.t("Write...");
+ const doc = editor.state.doc;
+ if (pos >= 0 && pos <= doc.content.size) {
+ const parentName = doc.resolve(pos).parent.type.name;
+ if (
+ parentName === "column" ||
+ parentName === "tableCell" ||
+ parentName === "tableHeader" ||
+ parentName === "callout" ||
+ parentName === "blockquote" ||
+ parentName === "footnote"
+ ) {
+ return i18n.t("Write...");
+ }
}
return i18n.t('Write anything. Enter "/" for commands');
}
@@ -414,6 +426,9 @@ export const mainExtensions = [
}).configure(),
Columns,
Column,
+ Footnotes,
+ Footnote,
+ FootnoteReference,
AutoJoiner.configure({
elementsToJoin: [],
}),
diff --git a/apps/client/src/features/editor/extensions/placeholder.ts b/apps/client/src/features/editor/extensions/placeholder.ts
new file mode 100644
index 000000000..68827c601
--- /dev/null
+++ b/apps/client/src/features/editor/extensions/placeholder.ts
@@ -0,0 +1,64 @@
+import { isNodeEmpty } from "@tiptap/core";
+import { Plugin, PluginKey } from "@tiptap/pm/state";
+import { Decoration, DecorationSet } from "@tiptap/pm/view";
+import { Placeholder as TiptapPlaceholder } from "@tiptap/extensions";
+
+export const Placeholder = TiptapPlaceholder.extend({
+ addProseMirrorPlugins() {
+ const editor = this.editor;
+ const options = this.options;
+ const dataAttribute = `data-${options.dataAttribute || "placeholder"}`;
+
+ return [
+ new Plugin({
+ key: new PluginKey("docmostPlaceholder"),
+ props: {
+ decorations: (state) => {
+ if (options.showOnlyWhenEditable && !editor.isEditable) {
+ return null;
+ }
+
+ const { doc, selection } = state;
+ const { anchor } = selection;
+ const decorations: Decoration[] = [];
+ const isEmptyDoc = editor.isEmpty;
+
+ doc.descendants((node, pos) => {
+ if (!node.type.isTextblock) {
+ return options.includeChildren;
+ }
+
+ const hasAnchor = anchor >= pos && anchor <= pos + node.nodeSize;
+ const isEmpty = !node.isLeaf && isNodeEmpty(node);
+
+ if ((hasAnchor || !options.showOnlyCurrent) && isEmpty) {
+ const emptyNodeClass =
+ typeof options.emptyNodeClass === "function"
+ ? options.emptyNodeClass({ editor, node, pos, hasAnchor })
+ : options.emptyNodeClass;
+ const classes = [emptyNodeClass];
+ if (isEmptyDoc) {
+ classes.push(options.emptyEditorClass);
+ }
+
+ decorations.push(
+ Decoration.node(pos, pos + node.nodeSize, {
+ class: classes.join(" "),
+ [dataAttribute]:
+ typeof options.placeholder === "function"
+ ? options.placeholder({ editor, node, pos, hasAnchor })
+ : options.placeholder,
+ }),
+ );
+ }
+
+ return options.includeChildren;
+ });
+
+ return DecorationSet.create(doc, decorations);
+ },
+ },
+ }),
+ ];
+ },
+});
diff --git a/apps/client/src/features/editor/page-editor.tsx b/apps/client/src/features/editor/page-editor.tsx
index 7149e7938..77233f34f 100644
--- a/apps/client/src/features/editor/page-editor.tsx
+++ b/apps/client/src/features/editor/page-editor.tsx
@@ -249,6 +249,7 @@ function CollabPageEditor({
{
extensions,
editable,
+ textDirection: "auto",
immediatelyRender: true,
shouldRerenderOnTransaction: false,
editorProps: {
@@ -484,6 +485,7 @@ function StaticPageEditor({
@@ -93,6 +94,7 @@ export default function ReadonlyPageEditor({
{
diff --git a/apps/client/src/features/editor/styles/footnotes.css b/apps/client/src/features/editor/styles/footnotes.css
new file mode 100644
index 000000000..26edf51cf
--- /dev/null
+++ b/apps/client/src/features/editor/styles/footnotes.css
@@ -0,0 +1,26 @@
+.ProseMirror sup a.footnote-ref {
+ color: var(--mantine-primary-color-filled);
+ text-decoration: none;
+ cursor: pointer;
+ font-weight: 600;
+}
+
+.ProseMirror sup:has(a.footnote-ref) {
+ padding: 0 1px;
+}
+
+.ProseMirror ol.footnotes {
+ margin-top: 2rem;
+ padding-top: 0.75rem;
+ font-size: 0.875rem;
+ color: var(--mantine-color-dimmed);
+ list-style-type: decimal;
+}
+
+.ProseMirror ol.footnotes:has(li) {
+ border-top: 1px solid var(--mantine-color-default-border);
+}
+
+.ProseMirror ol.footnotes li p {
+ margin: 0.15rem 0;
+}
diff --git a/apps/client/src/features/editor/styles/index.css b/apps/client/src/features/editor/styles/index.css
index 7b1ce93e8..cb49785ab 100644
--- a/apps/client/src/features/editor/styles/index.css
+++ b/apps/client/src/features/editor/styles/index.css
@@ -18,3 +18,4 @@
@import "./columns.css";
@import "./status.css";
@import "./base-embed.css";
+@import "./footnotes.css";
diff --git a/apps/client/src/features/editor/styles/table.css b/apps/client/src/features/editor/styles/table.css
index 32a427936..fbf563763 100644
--- a/apps/client/src/features/editor/styles/table.css
+++ b/apps/client/src/features/editor/styles/table.css
@@ -4,7 +4,7 @@
overflow-x: auto;
& table {
overflow-x: hidden;
- min-width: 700px !important;
+ min-width: 100% !important;
}
}
@@ -54,7 +54,7 @@
var(--mantine-color-dark-5)
);
font-weight: bold;
- text-align: left;
+ text-align: start;
}
.column-resize-handle {
diff --git a/apps/client/src/features/editor/title-editor.tsx b/apps/client/src/features/editor/title-editor.tsx
index 04317099d..26925b154 100644
--- a/apps/client/src/features/editor/title-editor.tsx
+++ b/apps/client/src/features/editor/title-editor.tsx
@@ -86,6 +86,7 @@ export function TitleEditor({
},
editable: editable,
content: title,
+ textDirection: "auto",
immediatelyRender: true,
shouldRerenderOnTransaction: false,
editorProps: {
diff --git a/apps/client/src/features/page-history/atoms/history-atoms.ts b/apps/client/src/features/page-history/atoms/history-atoms.ts
index 2acf163d5..76e0d54cc 100644
--- a/apps/client/src/features/page-history/atoms/history-atoms.ts
+++ b/apps/client/src/features/page-history/atoms/history-atoms.ts
@@ -6,4 +6,13 @@ export const activeHistoryPrevIdAtom = atom("");
export const highlightChangesAtom = atom(true);
export type DiffCounts = { added: number; deleted: number; total: number };
-export const diffCountsAtom = atom(null);
+export const diffCountsAtom = atom(
+ null as DiffCounts | null,
+);
+
+export type ComparePair = { newerId: string; olderId: string };
+export const compareModeAtom = atom(false);
+export const compareSelectionAtom = atom([]);
+export const comparePairAtom = atom(
+ null as ComparePair | null,
+);
diff --git a/apps/client/src/features/page-history/components/css/history.module.css b/apps/client/src/features/page-history/components/css/history.module.css
index a4be38194..cd3186323 100644
--- a/apps/client/src/features/page-history/components/css/history.module.css
+++ b/apps/client/src/features/page-history/components/css/history.module.css
@@ -1,7 +1,7 @@
.history {
- display: block;
+ display: flex;
+ align-items: center;
width: 100%;
- padding: var(--mantine-spacing-md);
color: light-dark(var(--mantine-color-black), var(--mantine-color-dark-0));
@mixin hover {
@@ -12,6 +12,28 @@
}
}
+.historyButton {
+ flex: 1;
+ min-width: 0;
+ color: inherit;
+}
+
+.compareCheckbox {
+ padding-left: var(--mantine-spacing-xs);
+}
+
+.itemMenu {
+ opacity: 0;
+ margin-right: var(--mantine-spacing-xs);
+}
+
+.history:hover .itemMenu,
+.history:focus-within .itemMenu,
+.history.active .itemMenu,
+.itemMenu[aria-expanded="true"] {
+ opacity: 1;
+}
+
.historyEditor {
:global(.ProseMirror) {
padding: 0 !important;
@@ -77,3 +99,8 @@
flex: 1;
padding: rem(16px) rem(40px);
}
+
+.compareBanner {
+ border-bottom: rem(1px) solid
+ light-dark(var(--mantine-color-gray-3), var(--mantine-color-dark-4));
+}
diff --git a/apps/client/src/features/page-history/components/history-editor.tsx b/apps/client/src/features/page-history/components/history-editor.tsx
index c7fa07036..18a7dfda3 100644
--- a/apps/client/src/features/page-history/components/history-editor.tsx
+++ b/apps/client/src/features/page-history/components/history-editor.tsx
@@ -31,6 +31,7 @@ export function HistoryEditor({
const editor = useEditor({
extensions: mainExtensions,
editable: false,
+ textDirection: "auto",
});
useEffect(() => {
@@ -170,7 +171,6 @@ export function HistoryEditor({
}
const total = addedCount + deletedCount;
- // @ts-ignore
setDiffCounts({ added: addedCount, deleted: deletedCount, total });
editor.setOptions({
diff --git a/apps/client/src/features/page-history/components/history-item.tsx b/apps/client/src/features/page-history/components/history-item.tsx
index cc56b1911..2143fc305 100644
--- a/apps/client/src/features/page-history/components/history-item.tsx
+++ b/apps/client/src/features/page-history/components/history-item.tsx
@@ -1,10 +1,21 @@
-import { Text, Group, UnstyledButton, Avatar, Tooltip } from "@mantine/core";
+import {
+ Text,
+ Group,
+ UnstyledButton,
+ Avatar,
+ Tooltip,
+ ActionIcon,
+ Checkbox,
+ Menu,
+} from "@mantine/core";
+import { IconDots } from "@tabler/icons-react";
import { CustomAvatar } from "@/components/ui/custom-avatar.tsx";
import { formattedDate } from "@/lib/time";
import classes from "./css/history.module.css";
import clsx from "clsx";
import { IPageHistory } from "@/features/page-history/types/page.types";
import { memo, useCallback } from "react";
+import { useTranslation } from "react-i18next";
const MAX_VISIBLE_AVATARS = 5;
@@ -15,6 +26,13 @@ interface HistoryItemProps {
onHover?: (id: string, index: number) => void;
onHoverEnd?: () => void;
isActive: boolean;
+ compareMode: boolean;
+ isChecked: boolean;
+ isCheckboxDisabled: boolean;
+ canCompare: boolean;
+ onToggleCompare: (id: string) => void;
+ onStartCompare: (id: string) => void;
+ onRestore?: (id: string, index: number) => void;
}
const HistoryItem = memo(function HistoryItem({
@@ -24,10 +42,24 @@ const HistoryItem = memo(function HistoryItem({
onHover,
onHoverEnd,
isActive,
+ compareMode,
+ isChecked,
+ isCheckboxDisabled,
+ canCompare,
+ onToggleCompare,
+ onStartCompare,
+ onRestore,
}: HistoryItemProps) {
+ const { t } = useTranslation();
+ const date = formattedDate(new Date(historyItem.createdAt));
+
const handleClick = useCallback(() => {
- onSelect(historyItem.id, index);
- }, [onSelect, historyItem.id, index]);
+ if (compareMode) {
+ onToggleCompare(historyItem.id);
+ } else {
+ onSelect(historyItem.id, index);
+ }
+ }, [compareMode, onToggleCompare, onSelect, historyItem.id, index]);
const handleMouseEnter = useCallback(() => {
onHover?.(historyItem.id, index);
@@ -37,63 +69,115 @@ const HistoryItem = memo(function HistoryItem({
const hasContributors = contributors && contributors.length > 0;
return (
-
- {formattedDate(new Date(historyItem.createdAt))}
+ {compareMode && (
+ onToggleCompare(historyItem.id)}
+ aria-label={t("Select version from {{date}}", { date })}
+ />
+ )}
-
- {hasContributors ? (
- <>
-
-
- {contributors.slice(0, MAX_VISIBLE_AVATARS).map((contributor) => (
-
-
-
- ))}
- {contributors.length > MAX_VISIBLE_AVATARS && (
- (
- {c.name}
+
+ {date}
+
+
+ {hasContributors ? (
+ <>
+
+
+ {contributors
+ .slice(0, MAX_VISIBLE_AVATARS)
+ .map((contributor) => (
+
+
+
))}
- >
-
- +{contributors.length - MAX_VISIBLE_AVATARS}
-
-
- )}
-
-
- {contributors.length === 1 && (
+ {contributors.length > MAX_VISIBLE_AVATARS && (
+ (
+ {c.name}
+ ))}
+ >
+
+ +{contributors.length - MAX_VISIBLE_AVATARS}
+
+
+ )}
+
+
+ {contributors.length === 1 && (
+
+ {contributors[0].name}
+
+ )}
+ >
+ ) : (
+ <>
+
- {contributors[0].name}
+ {historyItem.lastUpdatedBy?.name}
+ >
+ )}
+
+
+
+ {!compareMode && (
+
-
+
+
+ )}
+
);
});
diff --git a/apps/client/src/features/page-history/components/history-list.tsx b/apps/client/src/features/page-history/components/history-list.tsx
index 4024901b3..ac761ba82 100644
--- a/apps/client/src/features/page-history/components/history-list.tsx
+++ b/apps/client/src/features/page-history/components/history-list.tsx
@@ -6,8 +6,12 @@ import HistoryItem from "@/features/page-history/components/history-item";
import {
activeHistoryIdAtom,
activeHistoryPrevIdAtom,
+ compareModeAtom,
+ comparePairAtom,
+ compareSelectionAtom,
historyAtoms,
} from "@/features/page-history/atoms/history-atoms";
+import { resolveComparePair } from "@/features/page-history/utils/resolve-compare-pair";
import { useAtom, useSetAtom } from "jotai";
import { useCallback, useEffect, useMemo, useRef } from "react";
import {
@@ -32,6 +36,9 @@ function HistoryList({ pageId }: Props) {
const [activeHistoryId, setActiveHistoryId] = useAtom(activeHistoryIdAtom);
const setActiveHistoryPrevId = useSetAtom(activeHistoryPrevIdAtom);
const setHistoryModalOpen = useSetAtom(historyAtoms);
+ const [compareMode, setCompareMode] = useAtom(compareModeAtom);
+ const [compareSelection, setCompareSelection] = useAtom(compareSelectionAtom);
+ const setComparePair = useSetAtom(comparePairAtom);
const {
data: pageHistoryData,
@@ -79,10 +86,58 @@ function HistoryList({ pageId }: Props) {
const handleSelect = useCallback(
(id: string, index: number) => {
+ setComparePair(null);
setActiveHistoryId(id);
setActiveHistoryPrevId(historyItems[index + 1]?.id ?? "");
},
- [historyItems, setActiveHistoryId, setActiveHistoryPrevId],
+ [historyItems, setActiveHistoryId, setActiveHistoryPrevId, setComparePair],
+ );
+
+ const handleToggleCompare = useCallback(
+ (id: string) => {
+ setCompareSelection((prev) => {
+ if (prev.includes(id)) return prev.filter((item) => item !== id);
+ if (prev.length >= 2) return prev;
+ return [...prev, id];
+ });
+ },
+ [setCompareSelection],
+ );
+
+ const handleStartCompare = useCallback(
+ (id: string) => {
+ setComparePair(null);
+ setCompareMode(true);
+ setCompareSelection([id]);
+ },
+ [setComparePair, setCompareMode, setCompareSelection],
+ );
+
+ const handleCancelCompare = useCallback(() => {
+ setCompareMode(false);
+ setCompareSelection([]);
+ }, [setCompareMode, setCompareSelection]);
+
+ const handleConfirmCompare = useCallback(() => {
+ const pair = resolveComparePair(historyItems, compareSelection);
+ if (!pair) return;
+ setComparePair(pair);
+ setCompareMode(false);
+ setCompareSelection([]);
+ }, [
+ historyItems,
+ compareSelection,
+ setComparePair,
+ setCompareMode,
+ setCompareSelection,
+ ]);
+
+ const handleRestoreItem = useCallback(
+ (id: string, index: number) => {
+ handleSelect(id, index);
+ confirmRestore(id);
+ },
+ [handleSelect, confirmRestore],
);
useEffect(() => {
@@ -138,6 +193,16 @@ function HistoryList({ pageId }: Props) {
onHover={handleHover}
onHoverEnd={clearPrefetchTimeout}
isActive={historyItem.id === activeHistoryId}
+ compareMode={compareMode}
+ isChecked={compareSelection.includes(historyItem.id)}
+ isCheckboxDisabled={
+ !compareSelection.includes(historyItem.id) &&
+ compareSelection.length >= 2
+ }
+ canCompare={historyItems.length >= 2}
+ onToggleCompare={handleToggleCompare}
+ onStartCompare={handleStartCompare}
+ onRestore={canRestore ? handleRestoreItem : undefined}
/>
))}
{hasNextPage && }
@@ -148,22 +213,44 @@ function HistoryList({ pageId }: Props) {
)}
- {canRestore && (
+ {compareMode ? (
<>
-
>
+ ) : (
+ canRestore && (
+ <>
+
+
+ setHistoryModalOpen(false)}
+ >
+ {t("Cancel")}
+
+ confirmRestore()}>
+ {t("Restore")}
+
+
+ >
+ )
)}
);
diff --git a/apps/client/src/features/page-history/components/history-modal-body.tsx b/apps/client/src/features/page-history/components/history-modal-body.tsx
index 5673c82a1..ef2820e89 100644
--- a/apps/client/src/features/page-history/components/history-modal-body.tsx
+++ b/apps/client/src/features/page-history/components/history-modal-body.tsx
@@ -1,5 +1,6 @@
import {
ActionIcon,
+ CloseButton,
Group,
Paper,
ScrollArea,
@@ -12,17 +13,20 @@ import { useAtom, useAtomValue } from "jotai";
import {
activeHistoryIdAtom,
activeHistoryPrevIdAtom,
+ comparePairAtom,
diffCountsAtom,
highlightChangesAtom,
} from "@/features/page-history/atoms/history-atoms";
import HistoryView from "@/features/page-history/components/history-view";
-import { useRef } from "react";
+import { useMemo, useRef } from "react";
import { IconChevronUp, IconChevronDown } from "@tabler/icons-react";
import { useTranslation } from "react-i18next";
import {
useDiffNavigation,
useHistoryReset,
} from "@/features/page-history/hooks";
+import { usePageHistoryListQuery } from "@/features/page-history/queries/page-history-query";
+import { formattedDate } from "@/lib/time";
interface Props {
pageId: string;
@@ -36,6 +40,28 @@ export default function HistoryModalBody({ pageId }: Props) {
const activeHistoryPrevId = useAtomValue(activeHistoryPrevIdAtom);
const [highlightChanges, setHighlightChanges] = useAtom(highlightChangesAtom);
const diffCounts = useAtomValue(diffCountsAtom);
+ const [comparePair, setComparePair] = useAtom(comparePairAtom);
+
+ const { data: pageHistoryData } = usePageHistoryListQuery(pageId);
+ const historyItems = useMemo(
+ () => pageHistoryData?.pages.flatMap((page) => page.items) ?? [],
+ [pageHistoryData],
+ );
+
+ const compareLabel = useMemo(() => {
+ if (!comparePair) return null;
+ const newerItem = historyItems.find(
+ (item) => item.id === comparePair.newerId,
+ );
+ const olderItem = historyItems.find(
+ (item) => item.id === comparePair.olderId,
+ );
+ if (!newerItem || !olderItem) return null;
+ return t("Comparing {{newer}} and {{older}}", {
+ newer: formattedDate(new Date(newerItem.createdAt)),
+ older: formattedDate(new Date(olderItem.createdAt)),
+ });
+ }, [comparePair, historyItems, t]);
useHistoryReset(pageId);
const { currentChangeIndex, handlePrevChange, handleNextChange } =
@@ -50,6 +76,25 @@ export default function HistoryModalBody({ pageId }: Props) {
+ {comparePair && (
+
+
+ {compareLabel ?? t("Compare versions")}
+
+ setComparePair(null)}
+ />
+
+ )}
+
- {activeHistoryId && }
+ {comparePair ? (
+
+ ) : (
+ activeHistoryId &&
+ )}
- {activeHistoryId && activeHistoryPrevId && (
+ {(comparePair || (activeHistoryId && activeHistoryPrevId)) && (
setHistoryModalOpen(false)}>
{t("Cancel")}
- {t("Restore")}
+ confirmRestore()}>{t("Restore")}
)}
diff --git a/apps/client/src/features/page-history/components/history-view.tsx b/apps/client/src/features/page-history/components/history-view.tsx
index ed8a41f9a..028fa4ac1 100644
--- a/apps/client/src/features/page-history/components/history-view.tsx
+++ b/apps/client/src/features/page-history/components/history-view.tsx
@@ -7,21 +7,29 @@ import {
activeHistoryPrevIdAtom,
} from "@/features/page-history/atoms/history-atoms";
-function HistoryView() {
+interface Props {
+ historyId?: string;
+ prevHistoryId?: string;
+}
+
+function HistoryView({ historyId, prevHistoryId }: Props) {
const { t } = useTranslation();
- const historyId = useAtomValue(activeHistoryIdAtom);
- const prevHistoryId = useAtomValue(activeHistoryPrevIdAtom);
+ const activeId = useAtomValue(activeHistoryIdAtom);
+ const activePrevId = useAtomValue(activeHistoryPrevIdAtom);
+
+ const resolvedId = historyId ?? activeId;
+ const resolvedPrevId = prevHistoryId ?? activePrevId;
const {
data,
isLoading: isLoadingCurrent,
isError: isErrorCurrent,
- } = usePageHistoryQuery(historyId);
+ } = usePageHistoryQuery(resolvedId);
const {
data: prevData,
isLoading: isLoadingPrev,
isError: isErrorPrev,
- } = usePageHistoryQuery(prevHistoryId);
+ } = usePageHistoryQuery(resolvedPrevId);
if (isLoadingCurrent || isLoadingPrev) {
return <>>;
diff --git a/apps/client/src/features/page-history/hooks/use-history-reset.ts b/apps/client/src/features/page-history/hooks/use-history-reset.ts
index 15ae05874..cda0cbaa1 100644
--- a/apps/client/src/features/page-history/hooks/use-history-reset.ts
+++ b/apps/client/src/features/page-history/hooks/use-history-reset.ts
@@ -3,22 +3,45 @@ import { useEffect } from "react";
import {
activeHistoryIdAtom,
activeHistoryPrevIdAtom,
+ compareModeAtom,
+ comparePairAtom,
+ compareSelectionAtom,
diffCountsAtom,
} from "@/features/page-history/atoms/history-atoms";
/**
* Resets history state when pageId changes.
- * Clears active selection and diff counts.
+ * Clears active selection, diff counts, and compare state.
+ * Compare state also resets on unmount so reopening the modal starts clean.
*/
export function useHistoryReset(pageId: string) {
const [, setActiveHistoryId] = useAtom(activeHistoryIdAtom);
const [, setActiveHistoryPrevId] = useAtom(activeHistoryPrevIdAtom);
const [, setDiffCounts] = useAtom(diffCountsAtom);
+ const [, setCompareMode] = useAtom(compareModeAtom);
+ const [, setCompareSelection] = useAtom(compareSelectionAtom);
+ const [, setComparePair] = useAtom(comparePairAtom);
useEffect(() => {
+ const resetCompare = () => {
+ setCompareMode(false);
+ setCompareSelection([]);
+ setComparePair(null);
+ };
+
setActiveHistoryId("");
setActiveHistoryPrevId("");
- // @ts-ignore
setDiffCounts(null);
- }, [pageId, setActiveHistoryId, setActiveHistoryPrevId, setDiffCounts]);
+ resetCompare();
+
+ return resetCompare;
+ }, [
+ pageId,
+ setActiveHistoryId,
+ setActiveHistoryPrevId,
+ setDiffCounts,
+ setCompareMode,
+ setCompareSelection,
+ setComparePair,
+ ]);
}
diff --git a/apps/client/src/features/page-history/hooks/use-history-restore.tsx b/apps/client/src/features/page-history/hooks/use-history-restore.tsx
index f457c696a..17c4eb983 100644
--- a/apps/client/src/features/page-history/hooks/use-history-restore.tsx
+++ b/apps/client/src/features/page-history/hooks/use-history-restore.tsx
@@ -1,4 +1,4 @@
-import { useAtom, useAtomValue, useSetAtom } from "jotai";
+import { useAtomValue, useSetAtom } from "jotai";
import { useCallback } from "react";
import { useTranslation } from "react-i18next";
import { Text } from "@mantine/core";
@@ -9,7 +9,8 @@ import {
activeHistoryIdAtom,
historyAtoms,
} from "@/features/page-history/atoms/history-atoms";
-import { usePageHistoryQuery } from "@/features/page-history/queries/page-history-query";
+import { fetchPageHistory } from "@/features/page-history/queries/page-history-query";
+import { IPageHistory } from "@/features/page-history/types/page.types";
import {
pageEditorAtom,
titleEditorAtom,
@@ -25,8 +26,6 @@ export function useHistoryRestore() {
const { t } = useTranslation();
const activeHistoryId = useAtomValue(activeHistoryIdAtom);
- const { data: activeHistoryData } = usePageHistoryQuery(activeHistoryId);
-
const mainEditor = useAtomValue(pageEditorAtom);
const mainEditorTitle = useAtomValue(titleEditorAtom);
const setHistoryModalOpen = useSetAtom(historyAtoms);
@@ -40,47 +39,66 @@ export function useHistoryRestore() {
SpaceCaslSubject.Page,
);
- const handleRestore = useCallback(() => {
- if (!activeHistoryData) return;
- if (
- !mainEditor ||
- mainEditor.isDestroyed ||
- !mainEditorTitle ||
- mainEditorTitle.isDestroyed
- ) {
- return;
- }
+ const handleRestore = useCallback(
+ async (historyId: string) => {
+ let historyData: IPageHistory;
+ try {
+ historyData = await fetchPageHistory(historyId);
+ } catch {
+ notifications.show({
+ message: t("Error fetching page data."),
+ color: "red",
+ });
+ return;
+ }
- mainEditorTitle
- .chain()
- .clearContent()
- .setContent(activeHistoryData.title, { emitUpdate: true })
- .run();
+ if (
+ !mainEditor ||
+ mainEditor.isDestroyed ||
+ !mainEditorTitle ||
+ mainEditorTitle.isDestroyed
+ ) {
+ return;
+ }
- mainEditor
- .chain()
- .clearContent()
- .setContent(activeHistoryData.content)
- .run();
+ mainEditorTitle
+ .chain()
+ .clearContent()
+ .setContent(historyData.title, { emitUpdate: true })
+ .run();
- setHistoryModalOpen(false);
- notifications.show({ message: t("Successfully restored") });
- }, [activeHistoryData, mainEditor, mainEditorTitle, setHistoryModalOpen, t]);
+ mainEditor
+ .chain()
+ .clearContent()
+ .setContent(historyData.content)
+ .run();
- const confirmRestore = useCallback(() => {
- modals.openConfirmModal({
- title: t("Please confirm your action"),
- children: (
-
- {t(
- "Are you sure you want to restore this version? Any changes not versioned will be lost.",
- )}
-
- ),
- labels: { confirm: t("Confirm"), cancel: t("Cancel") },
- onConfirm: handleRestore,
- });
- }, [t, handleRestore]);
+ setHistoryModalOpen(false);
+ notifications.show({ message: t("Successfully restored") });
+ },
+ [mainEditor, mainEditorTitle, setHistoryModalOpen, t],
+ );
+
+ const confirmRestore = useCallback(
+ (historyId?: string) => {
+ const targetId = historyId ?? activeHistoryId;
+ if (!targetId) return;
+
+ modals.openConfirmModal({
+ title: t("Please confirm your action"),
+ children: (
+
+ {t(
+ "Are you sure you want to restore this version? Any changes not versioned will be lost.",
+ )}
+
+ ),
+ labels: { confirm: t("Confirm"), cancel: t("Cancel") },
+ onConfirm: () => handleRestore(targetId),
+ });
+ },
+ [t, handleRestore, activeHistoryId],
+ );
return { canRestore, confirmRestore };
}
diff --git a/apps/client/src/features/page-history/queries/page-history-query.ts b/apps/client/src/features/page-history/queries/page-history-query.ts
index 0fbfc6c9e..312d8aff7 100644
--- a/apps/client/src/features/page-history/queries/page-history-query.ts
+++ b/apps/client/src/features/page-history/queries/page-history-query.ts
@@ -23,6 +23,14 @@ export function prefetchPageHistory(historyId: string) {
});
}
+export function fetchPageHistory(historyId: string): Promise {
+ return queryClient.fetchQuery({
+ queryKey: ["page-history", historyId],
+ queryFn: () => getPageHistoryById(historyId),
+ staleTime: HISTORY_STALE_TIME,
+ });
+}
+
export function usePageHistoryListQuery(
pageId: string,
): UseInfiniteQueryResult, unknown>> {
diff --git a/apps/client/src/features/page-history/utils/resolve-compare-pair.test.ts b/apps/client/src/features/page-history/utils/resolve-compare-pair.test.ts
new file mode 100644
index 000000000..449188f02
--- /dev/null
+++ b/apps/client/src/features/page-history/utils/resolve-compare-pair.test.ts
@@ -0,0 +1,32 @@
+import { describe, expect, it } from "vitest";
+import { resolveComparePair } from "./resolve-compare-pair";
+
+// list is newest-first, matching usePageHistoryListQuery order
+const items = [{ id: "v3" }, { id: "v2" }, { id: "v1" }];
+
+describe("resolveComparePair", () => {
+ it("orders newer before older regardless of selection order", () => {
+ expect(resolveComparePair(items, ["v1", "v3"])).toEqual({
+ newerId: "v3",
+ olderId: "v1",
+ });
+ expect(resolveComparePair(items, ["v3", "v1"])).toEqual({
+ newerId: "v3",
+ olderId: "v1",
+ });
+ });
+
+ it("returns null unless exactly two versions are selected", () => {
+ expect(resolveComparePair(items, [])).toBeNull();
+ expect(resolveComparePair(items, ["v1"])).toBeNull();
+ expect(resolveComparePair(items, ["v1", "v2", "v3"])).toBeNull();
+ });
+
+ it("returns null when a selected id is not in the list", () => {
+ expect(resolveComparePair(items, ["v1", "missing"])).toBeNull();
+ });
+
+ it("returns null when the same id is selected twice", () => {
+ expect(resolveComparePair(items, ["v2", "v2"])).toBeNull();
+ });
+});
diff --git a/apps/client/src/features/page-history/utils/resolve-compare-pair.ts b/apps/client/src/features/page-history/utils/resolve-compare-pair.ts
new file mode 100644
index 000000000..d1d914346
--- /dev/null
+++ b/apps/client/src/features/page-history/utils/resolve-compare-pair.ts
@@ -0,0 +1,18 @@
+import { ComparePair } from "@/features/page-history/atoms/history-atoms";
+
+/**
+ * Resolves which of the two selected versions is newer using their position
+ * in the history list (list is newest-first: lower index = newer).
+ */
+export function resolveComparePair(
+ historyItems: { id: string }[],
+ selection: string[],
+): ComparePair | null {
+ if (selection.length !== 2) return null;
+ const indexA = historyItems.findIndex((item) => item.id === selection[0]);
+ const indexB = historyItems.findIndex((item) => item.id === selection[1]);
+ if (indexA === -1 || indexB === -1 || indexA === indexB) return null;
+ return indexA < indexB
+ ? { newerId: selection[0], olderId: selection[1] }
+ : { newerId: selection[1], olderId: selection[0] };
+}
diff --git a/apps/client/src/features/page/components/header/page-header-menu.tsx b/apps/client/src/features/page/components/header/page-header-menu.tsx
index e011e9ec4..9b02a4596 100644
--- a/apps/client/src/features/page/components/header/page-header-menu.tsx
+++ b/apps/client/src/features/page/components/header/page-header-menu.tsx
@@ -11,6 +11,7 @@ import {
IconList,
IconMarkdown,
IconMessage,
+ IconPaperclip,
IconPrinter,
IconStar,
IconStarFilled,
@@ -42,6 +43,7 @@ import {
import { formattedDate } from "@/lib/time.ts";
import { PageEditModeToggle } from "@/features/user/components/page-state-pref.tsx";
import MovePageModal from "@/features/page/components/move-page-modal.tsx";
+import PageAttachmentsModal from "@/features/attachments/components/page-attachments-modal.tsx";
import { useTimeAgo } from "@/hooks/use-time-ago.tsx";
import { PageShareModal } from "@/ee/page-permission";
import {
@@ -157,6 +159,10 @@ function PageActionMenu({ readOnly }: PageActionMenuProps) {
verificationOpened,
{ open: openVerificationModal, close: closeVerificationModal },
] = useDisclosure(false);
+ const [
+ attachmentsOpened,
+ { open: openAttachmentsModal, close: closeAttachmentsModal },
+ ] = useDisclosure(false);
const [pageEditor] = useAtom(pageEditorAtom);
const pageUpdatedAt = useTimeAgo(page?.updatedAt);
const favoriteIds = useFavoriteIds("page", page?.spaceId);
@@ -293,6 +299,15 @@ function PageActionMenu({ readOnly }: PageActionMenuProps) {
)}
+ {!page?.isBase && (
+ }
+ onClick={openAttachmentsModal}
+ >
+ {t("Attachments")}
+
+ )}
+
{!readOnly && !page?.isBase && (
+
+
>
);
}
diff --git a/apps/client/src/features/search/components/search-spotlight.tsx b/apps/client/src/features/search/components/search-spotlight.tsx
index 4c5269f15..3ada7ab1f 100644
--- a/apps/client/src/features/search/components/search-spotlight.tsx
+++ b/apps/client/src/features/search/components/search-spotlight.tsx
@@ -13,11 +13,16 @@ import { SearchResultItem } from "./search-result-item.tsx";
import { AiSearchResult } from "../../../ee/ai/components/ai-search-result.tsx";
import { useHasFeature } from "@/ee/hooks/use-feature";
import { Feature } from "@/ee/features";
+import { useAtomValue } from "jotai";
+import { workspaceAtom } from "@/features/user/atoms/current-user-atom.ts";
+import { hintVectorCache } from "@/ee/ai/services/ai-search-service.ts";
+import { getAiVectorDriver } from "@/lib/config.ts";
interface SearchSpotlightProps {
spaceId?: string;
}
export function SearchSpotlight({ spaceId }: SearchSpotlightProps) {
+ const workspace = useAtomValue(workspaceAtom);
const { t } = useTranslation();
const hasAiFeature = useHasFeature(Feature.AI);
const hasAttachmentIndexing = useHasFeature(Feature.ATTACHMENT_INDEXING);
@@ -96,6 +101,15 @@ export function SearchSpotlight({ spaceId }: SearchSpotlightProps) {
/>
));
+ const handleSpotlightOpen = () => {
+ if (
+ workspace?.settings?.ai?.search === true &&
+ getAiVectorDriver() === "turbopuffer"
+ ) {
+ hintVectorCache();
+ }
+ };
+
const handleFiltersChange = (newFilters: any) => {
setFilters(newFilters);
};
@@ -115,6 +129,7 @@ export function SearchSpotlight({ spaceId }: SearchSpotlightProps) {
(
@@ -41,6 +42,7 @@ export function SpaceSelect({
width,
opened,
clearable,
+ withinPortal = true,
}: SpaceSelectProps) {
const { t } = useTranslation();
const [searchValue, setSearchValue] = useState("");
@@ -50,9 +52,13 @@ export function SpaceSelect({
limit: 50,
});
const [data, setData] = useState([]);
+ const fetchedSpaces = useRef(new Map());
useEffect(() => {
if (spaces) {
+ spaces.items.forEach((space: ISpace) =>
+ fetchedSpaces.current.set(space.slug, space),
+ );
const spaceData = spaces?.items
.filter((space: ISpace) => space.slug !== value)
.map((space: ISpace) => {
@@ -83,14 +89,19 @@ export function SpaceSelect({
onSearchChange={setSearchValue}
clearable={clearable}
variant="filled"
- onChange={(slug) =>
- onChange(spaces.items?.find((item) => item.slug === slug))
- }
+ onChange={(slug) => {
+ // options accumulate across fetches; resolve against everything
+ // fetched, not just the latest query result
+ const space = slug && fetchedSpaces.current.get(slug);
+ if (space) {
+ onChange(space);
+ }
+ }}
onClick={(e) => e.stopPropagation()}
nothingFoundMessage={t("No space found")}
limit={50}
checkIconPosition="right"
- comboboxProps={{ width, withinPortal: true, position: "bottom", keepMounted: false, dropdownPadding: 0 }}
+ comboboxProps={{ width, withinPortal, position: "bottom", keepMounted: false, dropdownPadding: 0 }}
dropdownOpened={opened}
/>
);
diff --git a/apps/client/src/features/space/components/sidebar/switch-space.tsx b/apps/client/src/features/space/components/sidebar/switch-space.tsx
index 7531a5926..ff07572fd 100644
--- a/apps/client/src/features/space/components/sidebar/switch-space.tsx
+++ b/apps/client/src/features/space/components/sidebar/switch-space.tsx
@@ -70,6 +70,7 @@ export function SwitchSpace({
onChange={(space) => handleSelect(space.slug)}
width={300}
opened={true}
+ withinPortal={false}
/>
diff --git a/apps/client/src/lib/config.ts b/apps/client/src/lib/config.ts
index 67bbe1001..388447060 100644
--- a/apps/client/src/lib/config.ts
+++ b/apps/client/src/lib/config.ts
@@ -43,6 +43,10 @@ export function isCloud(): boolean {
return castToBoolean(getConfigValue("CLOUD"));
}
+export function getAiVectorDriver(): string {
+ return getConfigValue("AI_VECTOR_DRIVER");
+}
+
export function getAvatarUrl(
avatarUrl: string,
type: AvatarIconType = AvatarIconType.AVATAR,
diff --git a/apps/client/src/pages/auth/forgot-password.tsx b/apps/client/src/pages/auth/forgot-password.tsx
index 94826c1c8..dc5f10826 100644
--- a/apps/client/src/pages/auth/forgot-password.tsx
+++ b/apps/client/src/pages/auth/forgot-password.tsx
@@ -1,13 +1,10 @@
import { ForgotPasswordForm } from "@/features/auth/components/forgot-password-form";
-import { getAppName } from "@/lib/config";
-import { Helmet } from "react-helmet-async";
+import { DocumentTitle } from "@/components/ui/document-title.tsx";
export default function ForgotPassword() {
return (
<>
-
- Forgot Password - {getAppName()}
-
+
>
);
diff --git a/apps/client/src/pages/auth/invite-signup.tsx b/apps/client/src/pages/auth/invite-signup.tsx
index b9c9340ce..0ed064bf6 100644
--- a/apps/client/src/pages/auth/invite-signup.tsx
+++ b/apps/client/src/pages/auth/invite-signup.tsx
@@ -1,16 +1,13 @@
-import { Helmet } from "react-helmet-async";
import { InviteSignUpForm } from "@/features/auth/components/invite-sign-up-form.tsx";
-import {getAppName} from "@/lib/config.ts";
import { useTranslation } from "react-i18next";
+import { DocumentTitle } from "@/components/ui/document-title.tsx";
export default function InviteSignup() {
const { t } = useTranslation();
return (
<>
-
- {t("Invitation Signup")} - {getAppName()}
-
+
>
);
diff --git a/apps/client/src/pages/auth/login.tsx b/apps/client/src/pages/auth/login.tsx
index 4b062c190..5cd710baf 100644
--- a/apps/client/src/pages/auth/login.tsx
+++ b/apps/client/src/pages/auth/login.tsx
@@ -1,18 +1,13 @@
import { LoginForm } from "@/features/auth/components/login-form";
-import { Helmet } from "react-helmet-async";
-import { getAppName } from "@/lib/config.ts";
import { useTranslation } from "react-i18next";
+import { DocumentTitle } from "@/components/ui/document-title.tsx";
export default function LoginPage() {
const { t } = useTranslation();
return (
<>
-
-
- {t("Login")} - {getAppName()}
-
-
+
>
);
diff --git a/apps/client/src/pages/auth/password-reset.tsx b/apps/client/src/pages/auth/password-reset.tsx
index ae7d391b3..d785761ee 100644
--- a/apps/client/src/pages/auth/password-reset.tsx
+++ b/apps/client/src/pages/auth/password-reset.tsx
@@ -1,11 +1,10 @@
-import { Helmet } from "react-helmet-async";
import { PasswordResetForm } from "@/features/auth/components/password-reset-form";
import { Link, useSearchParams } from "react-router-dom";
import { useVerifyUserTokenQuery } from "@/features/auth/queries/auth-query";
import { Button, Container, Group, Text } from "@mantine/core";
import APP_ROUTE from "@/lib/app-route";
-import { getAppName } from "@/lib/config.ts";
import { useTranslation } from "react-i18next";
+import { DocumentTitle } from "@/components/ui/document-title.tsx";
export default function PasswordReset() {
const { t } = useTranslation();
@@ -23,11 +22,7 @@ export default function PasswordReset() {
if (isError || !resetToken) {
return (
<>
-
-
- {t("Password Reset")} - {getAppName()}
-
-
+
{t("Invalid or expired password reset link")}
@@ -49,11 +44,7 @@ export default function PasswordReset() {
return (
<>
-
-
- {t("Password Reset")} - {getAppName()}
-
-
+
>
);
diff --git a/apps/client/src/pages/auth/setup-workspace.tsx b/apps/client/src/pages/auth/setup-workspace.tsx
index 7fb75e2db..0e85525a9 100644
--- a/apps/client/src/pages/auth/setup-workspace.tsx
+++ b/apps/client/src/pages/auth/setup-workspace.tsx
@@ -1,11 +1,10 @@
import { useWorkspacePublicDataQuery } from "@/features/workspace/queries/workspace-query.ts";
import { SetupWorkspaceForm } from "@/features/auth/components/setup-workspace-form.tsx";
-import { Helmet } from "react-helmet-async";
import React, { useEffect } from "react";
import { useNavigate } from "react-router-dom";
import APP_ROUTE from "@/lib/app-route.ts";
-import { getAppName } from "@/lib/config.ts";
import { useTranslation } from "react-i18next";
+import { DocumentTitle } from "@/components/ui/document-title.tsx";
export default function SetupWorkspace() {
const { t } = useTranslation();
@@ -35,11 +34,7 @@ export default function SetupWorkspace() {
) {
return (
<>
-
-
- {t("Setup Workspace")} - {getAppName()}
-
-
+
>
);
diff --git a/apps/client/src/pages/dashboard/home.tsx b/apps/client/src/pages/dashboard/home.tsx
index 83d553038..20d127bef 100644
--- a/apps/client/src/pages/dashboard/home.tsx
+++ b/apps/client/src/pages/dashboard/home.tsx
@@ -2,20 +2,15 @@ import { Container, Space } from "@mantine/core";
import HomeTabs from "@/features/home/components/home-tabs";
import HomeAiPrompt from "@/features/home/components/home-ai-prompt";
import SpaceCarousel from "@/features/space/components/space-carousel.tsx";
-import { getAppName } from "@/lib/config.ts";
-import { Helmet } from "react-helmet-async";
import { useTranslation } from "react-i18next";
+import { DocumentTitle } from "@/components/ui/document-title.tsx";
export default function Home() {
const { t } = useTranslation();
return (
<>
-
-
- {t("Home")} - {getAppName()}
-
-
+
diff --git a/apps/client/src/pages/label/label-page.tsx b/apps/client/src/pages/label/label-page.tsx
index 8a5a53532..c272d7778 100644
--- a/apps/client/src/pages/label/label-page.tsx
+++ b/apps/client/src/pages/label/label-page.tsx
@@ -17,9 +17,7 @@ import {
} from "@tabler/icons-react";
import { Link, useParams } from "react-router-dom";
import { useTranslation } from "react-i18next";
-import { Helmet } from "react-helmet-async";
import { useDebouncedValue } from "@mantine/hooks";
-import { getAppName } from "@/lib/config";
import { useLabelPagesQuery } from "@/features/label/queries/label-query.ts";
import { useGetSpacesQuery } from "@/features/space/queries/space-query.ts";
import { getLabelColor } from "@/features/label/utils/label-colors.ts";
@@ -29,6 +27,7 @@ import { normalizeLabelName } from "@/features/label/utils/normalize-label.ts";
import { SpaceFilterMenu } from "@/features/space/components/space-filter-menu.tsx";
import { EmptyState } from "@/components/ui/empty-state";
import classes from "@/features/label/label.module.css";
+import { DocumentTitle } from "@/components/ui/document-title.tsx";
export default function LabelPage() {
const { t } = useTranslation();
@@ -82,11 +81,7 @@ export default function LabelPage() {
return (
<>
-
-
- {labelName} - {getAppName()}
-
-
+
diff --git a/apps/client/src/pages/page/page.tsx b/apps/client/src/pages/page/page.tsx
index 5ca737d02..ea109488f 100644
--- a/apps/client/src/pages/page/page.tsx
+++ b/apps/client/src/pages/page/page.tsx
@@ -3,7 +3,6 @@ import { usePageQuery } from "@/features/page/queries/page-query";
import { FullEditor } from "@/features/editor/full-editor";
import { TitleEditor } from "@/features/editor/title-editor";
import HistoryModal from "@/features/page-history/components/history-modal";
-import { Helmet } from "react-helmet-async";
import PageHeader from "@/features/page/components/header/page-header.tsx";
import { extractPageSlugId } from "@/lib";
import { useGetSpaceBySlugQuery } from "@/features/space/queries/space-query.ts";
@@ -18,6 +17,7 @@ import { BaseView } from "@/ee/base/components/base-view";
import { useHasFeature } from "@/ee/hooks/use-feature";
import { Feature } from "@/ee/features";
import { getPageTitle } from "@/features/page/page.utils";
+import { DocumentTitle } from "@/components/ui/document-title.tsx";
const MemoizedFullEditor = React.memo(FullEditor);
const MemoizedTitleEditor = React.memo(TitleEditor);
const MemoizedPageHeader = React.memo(PageHeader);
@@ -110,9 +110,10 @@ function PageContent({ pageSlug }: { pageSlug: string | undefined }) {
paddingTop: "calc(var(--page-header-height) + 6px)",
}}
>
-
- {`${page?.icon || ""} ${getPageTitle(page?.title, page?.isBase, t)}`}
-
+
-
- {`${page?.icon || ""} ${getPageTitle(page?.title, page?.isBase, t)}`}
-
+
diff --git a/apps/client/src/pages/settings/account/account-preferences.tsx b/apps/client/src/pages/settings/account/account-preferences.tsx
index bead4bfbc..6f9a0c1b4 100644
--- a/apps/client/src/pages/settings/account/account-preferences.tsx
+++ b/apps/client/src/pages/settings/account/account-preferences.tsx
@@ -5,21 +5,16 @@ import PageWidthPref from "@/features/user/components/page-width-pref.tsx";
import PageEditPref from "@/features/user/components/page-state-pref";
import FixedToolbarPref from "@/features/user/components/fixed-toolbar-pref";
import NotificationPref from "@/features/user/components/notification-pref";
-import { getAppName } from "@/lib/config.ts";
import { Divider } from "@mantine/core";
-import { Helmet } from "react-helmet-async";
import { useTranslation } from "react-i18next";
+import { DocumentTitle } from "@/components/ui/document-title.tsx";
export default function AccountPreferences() {
const { t } = useTranslation();
return (
<>
-
-
- {t("Preferences")} - {getAppName()}
-
-
+
diff --git a/apps/client/src/pages/settings/account/account-settings.tsx b/apps/client/src/pages/settings/account/account-settings.tsx
index 6f87d31af..f39a0e877 100644
--- a/apps/client/src/pages/settings/account/account-settings.tsx
+++ b/apps/client/src/pages/settings/account/account-settings.tsx
@@ -4,22 +4,17 @@ import ChangePassword from "@/features/user/components/change-password";
import { Divider } from "@mantine/core";
import AccountAvatar from "@/features/user/components/account-avatar";
import SettingsTitle from "@/components/settings/settings-title.tsx";
-import { getAppName } from "@/lib/config.ts";
-import { Helmet } from "react-helmet-async";
import { useTranslation } from "react-i18next";
import { AccountMfaSection } from "@/features/user/components/account-mfa-section";
import SessionList from "@/features/session/components/session-list";
+import { DocumentTitle } from "@/components/ui/document-title.tsx";
export default function AccountSettings() {
const { t } = useTranslation();
return (
<>
-
-
- {t("My Profile")} - {getAppName()}
-
-
+
diff --git a/apps/client/src/pages/settings/group/group-info.tsx b/apps/client/src/pages/settings/group/group-info.tsx
index 5a1c9bb71..70c596c5b 100644
--- a/apps/client/src/pages/settings/group/group-info.tsx
+++ b/apps/client/src/pages/settings/group/group-info.tsx
@@ -1,20 +1,15 @@
import SettingsTitle from "@/components/settings/settings-title.tsx";
import GroupMembersList from "@/features/group/components/group-members";
import GroupDetails from "@/features/group/components/group-details";
-import { getAppName } from "@/lib/config.ts";
-import { Helmet } from "react-helmet-async";
import { useTranslation } from "react-i18next";
+import { DocumentTitle } from "@/components/ui/document-title.tsx";
export default function GroupInfo() {
const { t } = useTranslation();
return (
<>
-
-
- {t("Manage Group")} - {getAppName()}
-
-
+
diff --git a/apps/client/src/pages/settings/group/groups.tsx b/apps/client/src/pages/settings/group/groups.tsx
index cae553f15..0b75b9bfd 100644
--- a/apps/client/src/pages/settings/group/groups.tsx
+++ b/apps/client/src/pages/settings/group/groups.tsx
@@ -3,9 +3,8 @@ import SettingsTitle from "@/components/settings/settings-title.tsx";
import { Group } from "@mantine/core";
import CreateGroupModal from "@/features/group/components/create-group-modal";
import useUserRole from "@/hooks/use-user-role.tsx";
-import {getAppName} from "@/lib/config.ts";
-import {Helmet} from "react-helmet-async";
import { useTranslation } from "react-i18next";
+import { DocumentTitle } from "@/components/ui/document-title.tsx";
export default function Groups() {
const { t } = useTranslation();
@@ -13,9 +12,7 @@ export default function Groups() {
return (
<>
-
- {t("Groups")} - {getAppName()}
-
+
diff --git a/apps/client/src/pages/settings/shares/shares.tsx b/apps/client/src/pages/settings/shares/shares.tsx
index 1a5a118e4..d327681af 100644
--- a/apps/client/src/pages/settings/shares/shares.tsx
+++ b/apps/client/src/pages/settings/shares/shares.tsx
@@ -1,22 +1,17 @@
import SettingsTitle from "@/components/settings/settings-title.tsx";
-import { Helmet } from "react-helmet-async";
-import { getAppName } from "@/lib/config.ts";
import { useTranslation } from "react-i18next";
import ShareList from "@/features/share/components/share-list.tsx";
import { Alert, Text } from "@mantine/core";
import { IconInfoCircle } from "@tabler/icons-react";
import React from "react";
+import { DocumentTitle } from "@/components/ui/document-title.tsx";
export default function Shares() {
const { t } = useTranslation();
return (
<>
-
-
- {t("Public sharing")} - {getAppName()}
-
-
+
}>
diff --git a/apps/client/src/pages/settings/space/spaces.tsx b/apps/client/src/pages/settings/space/spaces.tsx
index 329eab25f..e098f3570 100644
--- a/apps/client/src/pages/settings/space/spaces.tsx
+++ b/apps/client/src/pages/settings/space/spaces.tsx
@@ -3,9 +3,8 @@ import SpaceList from "@/features/space/components/space-list.tsx";
import useUserRole from "@/hooks/use-user-role.tsx";
import { Group } from "@mantine/core";
import CreateSpaceModal from "@/features/space/components/create-space-modal.tsx";
-import { Helmet } from "react-helmet-async";
-import { getAppName } from "@/lib/config.ts";
import { useTranslation } from "react-i18next";
+import { DocumentTitle } from "@/components/ui/document-title.tsx";
export default function Spaces() {
const { t } = useTranslation();
@@ -13,11 +12,7 @@ export default function Spaces() {
return (
<>
-
-
- {t("Spaces")} - {getAppName()}
-
-
+
diff --git a/apps/client/src/pages/settings/workspace/workspace-members.tsx b/apps/client/src/pages/settings/workspace/workspace-members.tsx
index dba853a47..d12bed760 100644
--- a/apps/client/src/pages/settings/workspace/workspace-members.tsx
+++ b/apps/client/src/pages/settings/workspace/workspace-members.tsx
@@ -6,11 +6,10 @@ import { useEffect, useState } from "react";
import { useNavigate, useSearchParams } from "react-router-dom";
import WorkspaceInvitesTable from "@/features/workspace/components/members/components/workspace-invites-table.tsx";
import useUserRole from "@/hooks/use-user-role.tsx";
-import { getAppName } from "@/lib/config.ts";
-import { Helmet } from "react-helmet-async";
import { useTranslation } from "react-i18next";
import { useAtom } from "jotai";
import { workspaceAtom } from "@/features/user/atoms/current-user-atom.ts";
+import { DocumentTitle } from "@/components/ui/document-title.tsx";
export default function WorkspaceMembers() {
const { t } = useTranslation();
@@ -38,11 +37,7 @@ export default function WorkspaceMembers() {
return (
<>
-
-
- {t("Members")} - {getAppName()}
-
-
+
{/* */}
diff --git a/apps/client/src/pages/settings/workspace/workspace-settings.tsx b/apps/client/src/pages/settings/workspace/workspace-settings.tsx
index 1dc55485f..dc9e7c5fc 100644
--- a/apps/client/src/pages/settings/workspace/workspace-settings.tsx
+++ b/apps/client/src/pages/settings/workspace/workspace-settings.tsx
@@ -2,21 +2,19 @@ import SettingsTitle from "@/components/settings/settings-title.tsx";
import WorkspaceNameForm from "@/features/workspace/components/settings/components/workspace-name-form";
import WorkspaceIcon from "@/features/workspace/components/settings/components/workspace-icon.tsx";
import { useTranslation } from "react-i18next";
-import { getAppName, isCloud } from "@/lib/config.ts";
-import { Helmet } from "react-helmet-async";
+import { isCloud } from "@/lib/config.ts";
import ManageHostname from "@/ee/components/manage-hostname.tsx";
import { Divider } from "@mantine/core";
import AllowMemberTemplates from "@/ee/security/components/allow-member-templates.tsx";
import WorkspaceDefaultPageEditMode from "@/features/workspace/components/settings/components/workspace-default-page-edit-mode.tsx";
import PersonalSpacesSetting from "@/ee/personal-space/components/personal-spaces-setting.tsx";
+import { DocumentTitle } from "@/components/ui/document-title.tsx";
export default function WorkspaceSettings() {
const { t } = useTranslation();
return (
<>
-
- Workspace Settings - {getAppName()}
-
+
diff --git a/apps/client/src/pages/share/shared-page.tsx b/apps/client/src/pages/share/shared-page.tsx
index f156208e5..b7028b2fb 100644
--- a/apps/client/src/pages/share/shared-page.tsx
+++ b/apps/client/src/pages/share/shared-page.tsx
@@ -1,5 +1,4 @@
import { useNavigate, useParams } from "react-router-dom";
-import { Helmet } from "react-helmet-async";
import { useTranslation } from "react-i18next";
import { useSharePageQuery } from "@/features/share/queries/share-query.ts";
import { Container } from "@mantine/core";
@@ -14,6 +13,7 @@ import {
sharedTreeDataAtom,
} from "@/features/share/atoms/shared-page-atom.ts";
import { isPageInTree } from "@/features/share/utils.ts";
+import { DocumentTitle } from "@/components/ui/document-title.tsx";
export default function SharedPage() {
const { t } = useTranslation();
@@ -56,12 +56,14 @@ export default function SharedPage() {
return (
-
- {`${data?.page?.title || t("untitled")}`}
+
{!data?.share.searchIndexing && (
)}
-
+
-
- {space?.name || 'Overview'} - {getAppName()}
-
+
{space && }
diff --git a/apps/client/src/pages/spaces/spaces.tsx b/apps/client/src/pages/spaces/spaces.tsx
index 1eadcee79..0f67c8c63 100644
--- a/apps/client/src/pages/spaces/spaces.tsx
+++ b/apps/client/src/pages/spaces/spaces.tsx
@@ -1,13 +1,12 @@
import { Container, Title, Text, Group, Box } from "@mantine/core";
import { useTranslation } from "react-i18next";
-import { Helmet } from "react-helmet-async";
-import { getAppName } from "@/lib/config";
import { useGetSpacesQuery } from "@/features/space/queries/space-query";
import CreateSpaceModal from "@/features/space/components/create-space-modal";
import { AllSpacesList } from "@/features/space/components/spaces-page";
import FavoriteSpacesGrid from "@/features/space/components/spaces-page/favorite-spaces-grid";
import { usePaginateAndSearch } from "@/hooks/use-paginate-and-search";
import useUserRole from "@/hooks/use-user-role";
+import { DocumentTitle } from "@/components/ui/document-title.tsx";
export default function Spaces() {
const { t } = useTranslation();
@@ -22,11 +21,7 @@ export default function Spaces() {
return (
<>
-
-
- {t("Spaces")} - {getAppName()}
-
-
+
diff --git a/apps/client/vite.config.ts b/apps/client/vite.config.ts
index b230a29ff..d1127bca9 100644
--- a/apps/client/vite.config.ts
+++ b/apps/client/vite.config.ts
@@ -16,6 +16,7 @@ export default defineConfig(({ mode }) => {
BILLING_TRIAL_DAYS,
POSTHOG_HOST,
POSTHOG_KEY,
+ AI_VECTOR_DRIVER,
} = loadEnv(mode, envPath, "");
return {
@@ -31,6 +32,7 @@ export default defineConfig(({ mode }) => {
BILLING_TRIAL_DAYS,
POSTHOG_HOST,
POSTHOG_KEY,
+ AI_VECTOR_DRIVER,
},
APP_VERSION: JSON.stringify(process.env.npm_package_version),
},
diff --git a/apps/server/package.json b/apps/server/package.json
index 4cd625acc..94463aacc 100644
--- a/apps/server/package.json
+++ b/apps/server/package.json
@@ -40,32 +40,33 @@
"@clickhouse/client": "1.18.2",
"@docmost/base-formula": "workspace:*",
"@docmost/pdf-inspector": "1.9.6",
- "@fastify/cookie": "^11.0.2",
- "@fastify/multipart": "^10.0.0",
- "@fastify/static": "^9.1.3",
- "@keyv/redis": "^5.1.6",
+ "@fastify/cookie": "11.1.2",
+ "@fastify/multipart": "10.1.1",
+ "@fastify/static": "10.1.3",
+ "@keyv/redis": "5.1.6",
"@langchain/core": "1.1.46",
"@langchain/textsplitters": "1.0.1",
- "@modelcontextprotocol/sdk": "1.29.0",
- "@nest-lab/throttler-storage-redis": "^1.2.0",
+ "@modelcontextprotocol/sdk": "1.30.0",
+ "@nest-lab/throttler-storage-redis": "1.2.0",
"@nestjs-labs/nestjs-ioredis": "11.0.4",
- "@nestjs/bullmq": "11.0.4",
+ "@nestjs/bullmq": "11.0.5",
"@nestjs/cache-manager": "3.1.3",
- "@nestjs/common": "11.1.27",
+ "@nestjs/common": "11.2.1",
"@nestjs/config": "4.0.4",
- "@nestjs/core": "11.1.27",
+ "@nestjs/core": "11.2.1",
"@nestjs/event-emitter": "3.1.0",
"@nestjs/jwt": "11.0.2",
"@nestjs/mapped-types": "2.1.1",
"@nestjs/passport": "11.0.5",
- "@nestjs/platform-fastify": "11.1.27",
- "@nestjs/platform-socket.io": "11.1.27",
+ "@nestjs/platform-fastify": "11.2.1",
+ "@nestjs/platform-socket.io": "11.2.1",
"@nestjs/schedule": "6.1.3",
"@nestjs/terminus": "11.1.1",
"@nestjs/throttler": "6.5.0",
- "@nestjs/websockets": "11.1.27",
+ "@nestjs/websockets": "11.2.1",
"@node-saml/passport-saml": "5.1.0",
"@socket.io/redis-adapter": "8.3.0",
+ "@turbopuffer/turbopuffer": "^2.8.0",
"ai": "6.0.134",
"ai-sdk-ollama": "3.8.1",
"bcrypt": "6.0.0",
@@ -90,8 +91,8 @@
"ldapts": "8.1.7",
"mammoth": "1.12.0",
"mime-types": "3.0.2",
- "msgpackr": "^1.11.9",
- "nanoid": "5.1.7",
+ "msgpackr": "1.11.9",
+ "nanoid": "5.1.16",
"nestjs-cls": "6.2.0",
"nestjs-kysely": "3.1.2",
"nestjs-pino": "4.6.1",
@@ -102,7 +103,7 @@
"passport-google-oauth20": "2.0.0",
"passport-jwt": "4.0.1",
"pg-tsquery": "8.4.2",
- "pgvector": "^0.2.1",
+ "pgvector": "0.2.1",
"pino-http": "11.0.0",
"pino-pretty": "13.1.3",
"postgres": "3.4.8",
@@ -118,8 +119,8 @@
"tlds": "1.261.0",
"tmp-promise": "3.0.3",
"typesense": "3.0.5",
- "undici": "7.28.0",
- "ws": "8.21.0",
+ "undici": "7.29.0",
+ "ws": "8.21.3",
"yauzl": "3.4.0",
"zod": "4.3.6"
},
diff --git a/apps/server/src/app.module.ts b/apps/server/src/app.module.ts
index b8cfc5877..2de94a662 100644
--- a/apps/server/src/app.module.ts
+++ b/apps/server/src/app.module.ts
@@ -22,11 +22,13 @@ import { TelemetryModule } from './integrations/telemetry/telemetry.module';
import { RedisModule } from '@nestjs-labs/nestjs-ioredis';
import { RedisConfigService } from './integrations/redis/redis-config.service';
import { CacheModule } from '@nestjs/cache-manager';
-import KeyvRedis from '@keyv/redis';
+import KeyvRedis, { defaultReconnectStrategy } from '@keyv/redis';
+import { parseRedisUrl } from './common/helpers';
import { LoggerModule } from './common/logger/logger.module';
import { ClsModule } from 'nestjs-cls';
import { NoopAuditModule } from './integrations/audit/audit.module';
import { ThrottleModule } from './integrations/throttle/throttle.module';
+import { EncryptionModule } from './integrations/encryption/encryption.module';
const enterpriseModules = [];
try {
@@ -53,6 +55,7 @@ try {
CoreModule,
DatabaseModule,
EnvironmentModule,
+ EncryptionModule,
RedisModule.forRootAsync({
useClass: RedisConfigService,
}),
@@ -60,10 +63,20 @@ try {
isGlobal: true,
useFactory: async (environmentService: EnvironmentService) => {
const redisUrl = environmentService.getRedisUrl();
+ const { family, tls } = parseRedisUrl(redisUrl);
return {
ttl: 5 * 1000,
- stores: [new KeyvRedis(redisUrl)],
+ stores: [
+ new KeyvRedis({
+ url: redisUrl,
+ socket: {
+ family,
+ reconnectStrategy: defaultReconnectStrategy,
+ ...tls,
+ },
+ }),
+ ],
};
},
inject: [EnvironmentService],
diff --git a/apps/server/src/collaboration/collaboration.gateway.ts b/apps/server/src/collaboration/collaboration.gateway.ts
index b799ce366..05536664e 100644
--- a/apps/server/src/collaboration/collaboration.gateway.ts
+++ b/apps/server/src/collaboration/collaboration.gateway.ts
@@ -66,6 +66,7 @@ export class CollaborationGateway {
password: this.redisConfig.password,
db: this.redisConfig.db,
family: this.redisConfig.family,
+ tls: this.redisConfig.tls,
retryStrategy: createRetryStrategy(),
}),
serverId: `collab-${os?.hostname()}-${nanoid(10)}`,
diff --git a/apps/server/src/collaboration/collaboration.util.ts b/apps/server/src/collaboration/collaboration.util.ts
index e8e8d4273..e5c55c77a 100644
--- a/apps/server/src/collaboration/collaboration.util.ts
+++ b/apps/server/src/collaboration/collaboration.util.ts
@@ -1,4 +1,5 @@
import { StarterKit } from '@tiptap/starter-kit';
+import { Document } from '@tiptap/extension-document';
import { TextAlign } from '@tiptap/extension-text-align';
import { Superscript } from '@tiptap/extension-superscript';
import SubScript from '@tiptap/extension-subscript';
@@ -45,9 +46,18 @@ import {
TransclusionSource,
TransclusionReference,
BaseEmbed,
+ Footnotes,
+ Footnote,
+ FootnoteReference,
} from '@docmost/editor-ext';
-import { generateText, getSchema, JSONContent } from '@tiptap/core';
+import {
+ extensions as coreExtensions,
+ generateText,
+ getSchema,
+ JSONContent,
+} from '@tiptap/core';
import { generateHTML, generateJSON } from '../common/helpers/prosemirror/html';
+import { collapseBlankLines } from '../common/helpers';
// @tiptap/html library works best for generating prosemirror json state but not HTML
// see: https://github.com/ueberdosis/tiptap/issues/5352
// see:https://github.com/ueberdosis/tiptap/issues/4089
@@ -57,12 +67,17 @@ import * as Y from 'yjs';
import { Logger } from '@nestjs/common';
export const tiptapExtensions = [
+ coreExtensions.TextDirection.configure({ direction: 'auto' }),
StarterKit.configure({
+ document: false,
codeBlock: false,
link: false,
trailingNode: false,
heading: false,
}),
+ Document.extend({
+ content: 'block+ footnotes?',
+ }),
Heading,
UniqueID.configure({
types: ['heading', 'paragraph', 'transclusionSource'],
@@ -110,7 +125,10 @@ export const tiptapExtensions = [
Status,
TransclusionSource,
TransclusionReference,
- BaseEmbed
+ BaseEmbed,
+ Footnotes,
+ Footnote,
+ FootnoteReference,
] as any;
export function jsonToHtml(tiptapJson: any) {
@@ -129,7 +147,7 @@ export function htmlToJson(html: string) {
}
export function jsonToText(tiptapJson: JSONContent) {
- return generateText(tiptapJson, tiptapExtensions);
+ return collapseBlankLines(generateText(tiptapJson, tiptapExtensions));
}
export function jsonToNode(tiptapJson: JSONContent) {
diff --git a/apps/server/src/common/helpers/index.ts b/apps/server/src/common/helpers/index.ts
index 80e9a9028..c9fac94c5 100644
--- a/apps/server/src/common/helpers/index.ts
+++ b/apps/server/src/common/helpers/index.ts
@@ -1,4 +1,5 @@
export * from './utils';
+export * from './text.utils';
export * from './nanoid.utils';
export * from './file.helper';
export * from './constants';
diff --git a/apps/server/src/common/helpers/text.utils.spec.ts b/apps/server/src/common/helpers/text.utils.spec.ts
new file mode 100644
index 000000000..6d049a541
--- /dev/null
+++ b/apps/server/src/common/helpers/text.utils.spec.ts
@@ -0,0 +1,14 @@
+import { collapseBlankLines } from './text.utils';
+
+describe('collapseBlankLines', () => {
+ it.each([
+ ['a\n\n\n\nb', 'a\n\nb'],
+ ['a\n\nb', 'a\n\nb'],
+ ['a\nb', 'a\nb'],
+ ['\n\n\n\na\n\n\n', '\n\na\n\n'],
+ ['no newlines', 'no newlines'],
+ ['', ''],
+ ])('collapses %j to %j', (input, expected) => {
+ expect(collapseBlankLines(input)).toBe(expected);
+ });
+});
diff --git a/apps/server/src/common/helpers/text.utils.ts b/apps/server/src/common/helpers/text.utils.ts
new file mode 100644
index 000000000..8a9cd1a27
--- /dev/null
+++ b/apps/server/src/common/helpers/text.utils.ts
@@ -0,0 +1,3 @@
+export function collapseBlankLines(text: string): string {
+ return text.replace(/\n{2,}/g, '\n\n');
+}
diff --git a/apps/server/src/common/helpers/utils.ts b/apps/server/src/common/helpers/utils.ts
index 21475c143..100d55d92 100644
--- a/apps/server/src/common/helpers/utils.ts
+++ b/apps/server/src/common/helpers/utils.ts
@@ -30,13 +30,14 @@ export type RedisConfig = {
db: number;
password?: string;
family?: number;
+ tls?: { rejectUnauthorized?: boolean };
};
export function parseRedisUrl(redisUrl: string): RedisConfig {
- // format - redis[s]://[[username][:password]@][host][:port][/db-number][?family=4|6]
+ // format - redis[s]://[[username][:password]@][host][:port][/db-number][?family=4|6][&rejectUnauthorized=false]
const url = new URL(redisUrl);
- const { hostname, port, password, pathname, searchParams } = url;
- const portInt = parseInt(port, 10);
+ const { hostname, port, password, pathname, protocol, searchParams } = url;
+ const portInt = port ? parseInt(port, 10) : 6379;
let db: number = 0;
// extract db value if present
@@ -54,7 +55,14 @@ export function parseRedisUrl(redisUrl: string): RedisConfig {
family = parseInt(familyParam, 10);
}
- return { host: hostname, port: portInt, password, db, family };
+ const tls =
+ protocol === 'rediss:'
+ ? searchParams.get('rejectUnauthorized') === 'false'
+ ? { rejectUnauthorized: false }
+ : {}
+ : undefined;
+
+ return { host: hostname, port: portInt, password: password || undefined, db, family, tls };
}
export function createRetryStrategy() {
diff --git a/apps/server/src/core/attachment/attachment.controller.ts b/apps/server/src/core/attachment/attachment.controller.ts
index 736058191..57d4124c3 100644
--- a/apps/server/src/core/attachment/attachment.controller.ts
+++ b/apps/server/src/core/attachment/attachment.controller.ts
@@ -53,8 +53,14 @@ import { EnvironmentService } from '../../integrations/environment/environment.s
import { TokenService } from '../auth/services/token.service';
import { JwtAttachmentPayload, JwtType } from '../auth/dto/jwt-payload';
import * as path from 'path';
-import { AttachmentInfoDto, RemoveIconDto } from './dto/attachment.dto';
+import {
+ AttachmentInfoDto,
+ PageIdDto,
+ RemoveIconDto,
+} from './dto/attachment.dto';
+import { PaginationOptions } from '@docmost/db/pagination/pagination-options';
import { PageAccessService } from '../page/page-access/page-access.service';
+import { DomainService } from '../../integrations/environment/domain.service';
import { AuditEvent, AuditResource } from '../../common/events/audit-events';
import {
AUDIT_SERVICE,
@@ -75,6 +81,7 @@ export class AttachmentController {
private readonly environmentService: EnvironmentService,
private readonly tokenService: TokenService,
private readonly pageAccessService: PageAccessService,
+ private readonly domainService: DomainService,
@Inject(AUDIT_SERVICE) private readonly auditService: IAuditService,
) {}
@@ -151,7 +158,10 @@ export class AttachmentController {
},
});
- return res.send(fileResponse);
+ return res.send({
+ ...fileResponse,
+ url: this.buildFileUrl(workspace, fileResponse),
+ });
} catch (err: any) {
if (err?.statusCode === 413) {
const errMessage = `File too large. Exceeds the ${this.environmentService.getFileUploadSizeLimit()} limit`;
@@ -411,7 +421,37 @@ export class AttachmentController {
await this.pageAccessService.validateCanView(page, user);
- return attachment;
+ return { ...attachment, url: this.buildFileUrl(workspace, attachment) };
+ }
+
+ @UseGuards(JwtAuthGuard)
+ @HttpCode(HttpStatus.OK)
+ @Post('pages/attachments')
+ async getPageAttachments(
+ @Body() dto: PageIdDto,
+ @Body() pagination: PaginationOptions,
+ @AuthUser() user: User,
+ @AuthWorkspace() workspace: Workspace,
+ ) {
+ const page = await this.pageRepo.findById(dto.pageId);
+ if (!page || page.workspaceId !== workspace.id) {
+ throw new NotFoundException('Page not found');
+ }
+
+ await this.pageAccessService.validateCanView(page, user);
+
+ const result = await this.attachmentRepo.findPageAttachments(
+ page.id,
+ pagination,
+ );
+
+ return {
+ ...result,
+ items: result.items.map((attachment) => ({
+ ...attachment,
+ url: this.buildFileUrl(workspace, attachment),
+ })),
+ };
}
@UseGuards(JwtAuthGuard)
@@ -465,6 +505,10 @@ export class AttachmentController {
}
}
+ private buildFileUrl(workspace: Workspace, attachment: Attachment): string {
+ return `${this.domainService.getUrl(workspace.hostname)}/api/files/${attachment.id}/${encodeURIComponent(attachment.fileName)}`;
+ }
+
private async sendFileResponse(
req: FastifyRequest,
res: FastifyReply,
diff --git a/apps/server/src/core/attachment/dto/attachment.dto.ts b/apps/server/src/core/attachment/dto/attachment.dto.ts
index 850de6f9e..80d510944 100644
--- a/apps/server/src/core/attachment/dto/attachment.dto.ts
+++ b/apps/server/src/core/attachment/dto/attachment.dto.ts
@@ -1,4 +1,11 @@
-import { IsEnum, IsIn, IsNotEmpty, IsOptional, IsUUID } from 'class-validator';
+import {
+ IsEnum,
+ IsIn,
+ IsNotEmpty,
+ IsOptional,
+ IsString,
+ IsUUID,
+} from 'class-validator';
import { AttachmentType } from '../attachment.constants';
export class AttachmentInfoDto {
@@ -7,6 +14,12 @@ export class AttachmentInfoDto {
attachmentId: string;
}
+export class PageIdDto {
+ @IsString()
+ @IsNotEmpty()
+ pageId: string;
+}
+
export class RemoveIconDto {
@IsEnum(AttachmentType)
@IsIn([
diff --git a/apps/server/src/core/page/services/page.service.ts b/apps/server/src/core/page/services/page.service.ts
index aad9b1cf3..cabfb0c74 100644
--- a/apps/server/src/core/page/services/page.service.ts
+++ b/apps/server/src/core/page/services/page.service.ts
@@ -496,10 +496,21 @@ export class PageService {
},
);
- await this.aiQueue.add(QueueJob.PAGE_MOVED_TO_SPACE, {
- pageIds: pageIdsToMove,
- workspaceId: rootPage.workspaceId,
- });
+ await this.aiQueue.add(
+ QueueJob.PAGE_MOVED_TO_SPACE,
+ {
+ pageIds: pageIdsToMove,
+ spaceId,
+ workspaceId: rootPage.workspaceId,
+ },
+ {
+ attempts: 2,
+ backoff: {
+ type: 'fixed',
+ delay: 2 * 60 * 1000,
+ },
+ },
+ );
}
});
@@ -810,6 +821,10 @@ export class PageService {
throw new BadRequestException('Invalid move position');
}
+ if (dto.parentPageId && dto.parentPageId === dto.pageId) {
+ throw new BadRequestException('A page cannot be its own parent');
+ }
+
let parentPageId = null;
if (movedPage.parentPageId === dto.parentPageId) {
parentPageId = undefined;
diff --git a/apps/server/src/core/space/services/space-member.service.ts b/apps/server/src/core/space/services/space-member.service.ts
index bc280f252..e9b836f1f 100644
--- a/apps/server/src/core/space/services/space-member.service.ts
+++ b/apps/server/src/core/space/services/space-member.service.ts
@@ -339,15 +339,25 @@ export class SpaceMemberService {
return;
}
- if (spaceMember.role === SpaceRole.ADMIN) {
- await this.validateLastAdmin(dto.spaceId);
- }
+ await executeTx(this.db, async (trx) => {
+ await trx
+ .selectFrom('spaces')
+ .select('id')
+ .where('id', '=', dto.spaceId)
+ .forUpdate()
+ .executeTakeFirst();
- await this.spaceMemberRepo.updateSpaceMember(
- { role: dto.role },
- spaceMember.id,
- dto.spaceId,
- );
+ if (spaceMember.role === SpaceRole.ADMIN) {
+ await this.validateLastAdmin(dto.spaceId, trx);
+ }
+
+ await this.spaceMemberRepo.updateSpaceMember(
+ { role: dto.role },
+ spaceMember.id,
+ dto.spaceId,
+ trx,
+ );
+ });
this.auditService.log({
event: AuditEvent.SPACE_MEMBER_ROLE_CHANGED,
@@ -368,10 +378,14 @@ export class SpaceMemberService {
});
}
- async validateLastAdmin(spaceId: string): Promise {
+ async validateLastAdmin(
+ spaceId: string,
+ trx?: KyselyTransaction,
+ ): Promise {
const spaceOwnerCount = await this.spaceMemberRepo.roleCountBySpaceId(
SpaceRole.ADMIN,
spaceId,
+ trx,
);
if (spaceOwnerCount === 1) {
throw new BadRequestException(
diff --git a/apps/server/src/core/workspace/services/workspace.service.ts b/apps/server/src/core/workspace/services/workspace.service.ts
index 77ccb90c9..68dfd271a 100644
--- a/apps/server/src/core/workspace/services/workspace.service.ts
+++ b/apps/server/src/core/workspace/services/workspace.service.ts
@@ -396,7 +396,10 @@ export class WorkspaceService {
}
}
- if (updateWorkspaceDto.aiSearch) {
+ if (
+ updateWorkspaceDto.aiSearch &&
+ this.environmentService.getAiVectorDriver() !== 'turbopuffer'
+ ) {
const tableExists = await isPageEmbeddingsTableExists(this.db);
if (!tableExists) {
throw new BadRequestException(
diff --git a/apps/server/src/database/listeners/space.listener.ts b/apps/server/src/database/listeners/space.listener.ts
index af6e3a222..3a766b6ef 100644
--- a/apps/server/src/database/listeners/space.listener.ts
+++ b/apps/server/src/database/listeners/space.listener.ts
@@ -8,6 +8,7 @@ import { EnvironmentService } from '../../integrations/environment/environment.s
export class SpaceEvent {
spaceId: string;
+ workspaceId: string;
}
@Injectable()
@@ -22,12 +23,12 @@ export class SpaceListener {
@OnEvent(EventName.SPACE_DELETED)
async handleSpaceDeleted(event: SpaceEvent) {
- const { spaceId } = event;
+ const { spaceId, workspaceId } = event;
if (this.isTypesense()) {
await this.searchQueue.add(QueueJob.SPACE_DELETED, { spaceId });
}
- await this.aiQueue.add(QueueJob.SPACE_DELETED, { spaceId });
+ await this.aiQueue.add(QueueJob.SPACE_DELETED, { spaceId, workspaceId });
}
isTypesense(): boolean {
diff --git a/apps/server/src/database/repos/attachment/attachment.repo.ts b/apps/server/src/database/repos/attachment/attachment.repo.ts
index f7d717ea0..abdc36e00 100644
--- a/apps/server/src/database/repos/attachment/attachment.repo.ts
+++ b/apps/server/src/database/repos/attachment/attachment.repo.ts
@@ -1,5 +1,8 @@
import { Injectable } from '@nestjs/common';
import { InjectKysely } from 'nestjs-kysely';
+import { ExpressionBuilder, sql } from 'kysely';
+import { jsonObjectFrom } from 'kysely/helpers/postgres';
+import { DB } from '@docmost/db/types/db';
import { KyselyDB, KyselyTransaction } from '@docmost/db/types/kysely.types';
import { dbOrTx } from '@docmost/db/utils';
import {
@@ -8,6 +11,8 @@ import {
UpdatableAttachment,
} from '@docmost/db/types/entity.types';
import { AttachmentType } from '../../../core/attachment/attachment.constants';
+import { PaginationOptions } from '@docmost/db/pagination/pagination-options';
+import { executeWithCursorPagination } from '@docmost/db/pagination/cursor-pagination';
@Injectable()
export class AttachmentRepo {
@@ -89,6 +94,41 @@ export class AttachmentRepo {
.execute();
}
+ async findPageAttachments(pageId: string, pagination: PaginationOptions) {
+ let query = this.db
+ .selectFrom('attachments')
+ .select(this.baseFields)
+ .select((eb) => this.withCreator(eb))
+ .where('pageId', '=', pageId)
+ .where('type', '=', AttachmentType.File)
+ .where('deletedAt', 'is', null);
+
+ if (pagination.query) {
+ query = query.where(
+ sql`f_unaccent(file_name)`,
+ 'ilike',
+ sql`f_unaccent(${'%' + pagination.query + '%'})`,
+ );
+ }
+
+ return executeWithCursorPagination(query, {
+ perPage: pagination.limit,
+ cursor: pagination.cursor,
+ beforeCursor: pagination.beforeCursor,
+ fields: [{ expression: 'id', direction: 'desc' }],
+ parseCursor: (cursor) => ({ id: cursor.id }),
+ });
+ }
+
+ withCreator(eb: ExpressionBuilder) {
+ return jsonObjectFrom(
+ eb
+ .selectFrom('users')
+ .select(['users.id', 'users.name', 'users.avatarUrl'])
+ .whereRef('users.id', '=', 'attachments.creatorId'),
+ ).as('creator');
+ }
+
async findByIds(
ids: string[],
opts?: {
diff --git a/apps/server/src/database/repos/space/space-member.repo.ts b/apps/server/src/database/repos/space/space-member.repo.ts
index 6711c30c7..d6172e282 100644
--- a/apps/server/src/database/repos/space/space-member.repo.ts
+++ b/apps/server/src/database/repos/space/space-member.repo.ts
@@ -46,8 +46,10 @@ export class SpaceMemberRepo {
updatableSpaceMember: UpdatableSpaceMember,
spaceMemberId: string,
spaceId: string,
+ trx?: KyselyTransaction,
): Promise {
- await this.db
+ const db = dbOrTx(this.db, trx);
+ await db
.updateTable('spaceMembers')
.set(updatableSpaceMember)
.where('id', '=', spaceMemberId)
@@ -92,8 +94,13 @@ export class SpaceMemberRepo {
.execute();
}
- async roleCountBySpaceId(role: string, spaceId: string): Promise {
- const { count } = await this.db
+ async roleCountBySpaceId(
+ role: string,
+ spaceId: string,
+ trx?: KyselyTransaction,
+ ): Promise {
+ const db = dbOrTx(this.db, trx);
+ const { count } = await db
.selectFrom('spaceMembers')
.select((eb) => eb.fn.count('role').as('count'))
.where('role', '=', role)
diff --git a/apps/server/src/database/repos/space/space.repo.ts b/apps/server/src/database/repos/space/space.repo.ts
index 905d2fac6..82fc170bd 100644
--- a/apps/server/src/database/repos/space/space.repo.ts
+++ b/apps/server/src/database/repos/space/space.repo.ts
@@ -230,6 +230,7 @@ export class SpaceRepo {
this.eventEmitter.emit(EventName.SPACE_DELETED, {
spaceId,
+ workspaceId,
});
}
}
diff --git a/apps/server/src/database/repos/workspace/workspace.repo.ts b/apps/server/src/database/repos/workspace/workspace.repo.ts
index d0f9b5cee..a8323d7ce 100644
--- a/apps/server/src/database/repos/workspace/workspace.repo.ts
+++ b/apps/server/src/database/repos/workspace/workspace.repo.ts
@@ -211,6 +211,24 @@ export class WorkspaceRepo {
.executeTakeFirst();
}
+ async updateAiEmbeddingFingerprint(
+ workspaceId: string,
+ fingerprint: { driver: string; model: string; dimensions: number },
+ trx?: KyselyTransaction,
+ ) {
+ const db = dbOrTx(this.db, trx);
+ return db
+ .updateTable('workspaces')
+ .set({
+ settings: sql`COALESCE(settings, '{}'::jsonb)
+ || jsonb_build_object('ai', COALESCE(settings->'ai', '{}'::jsonb)
+ || jsonb_build_object('embedding', ${JSON.stringify(fingerprint)}::text::jsonb))`,
+ updatedAt: new Date(),
+ })
+ .where('id', '=', workspaceId)
+ .execute();
+ }
+
async updateSharingSettings(
workspaceId: string,
prefKey: string,
diff --git a/apps/server/src/ee b/apps/server/src/ee
index 74d68dc5c..6dfbcb924 160000
--- a/apps/server/src/ee
+++ b/apps/server/src/ee
@@ -1 +1 @@
-Subproject commit 74d68dc5c5e940a10c17b0f6df02aa36dfdb1763
+Subproject commit 6dfbcb92412008e612c89800125d27c58da2bae5
diff --git a/apps/server/src/integrations/encryption/encryption.errors.ts b/apps/server/src/integrations/encryption/encryption.errors.ts
new file mode 100644
index 000000000..06b5cca81
--- /dev/null
+++ b/apps/server/src/integrations/encryption/encryption.errors.ts
@@ -0,0 +1,13 @@
+export class UnableToInitialize extends Error {
+ constructor(message: string) {
+ super(`Unable to initialize the encryption service: ${message}`);
+ this.name = 'UnableToInitialize';
+ }
+}
+
+export class UnableToDecrypt extends Error {
+ constructor(reason: string) {
+ super(`Unable to decrypt the ciphertext: ${reason}`);
+ this.name = 'UnableToDecrypt';
+ }
+}
diff --git a/apps/server/src/integrations/encryption/encryption.module.ts b/apps/server/src/integrations/encryption/encryption.module.ts
new file mode 100644
index 000000000..75022234e
--- /dev/null
+++ b/apps/server/src/integrations/encryption/encryption.module.ts
@@ -0,0 +1,9 @@
+import { Global, Module } from '@nestjs/common';
+import { EncryptionService } from './encryption.service';
+
+@Global()
+@Module({
+ providers: [EncryptionService],
+ exports: [EncryptionService],
+})
+export class EncryptionModule {}
diff --git a/apps/server/src/integrations/encryption/encryption.service.spec.ts b/apps/server/src/integrations/encryption/encryption.service.spec.ts
new file mode 100644
index 000000000..64b1a8e00
--- /dev/null
+++ b/apps/server/src/integrations/encryption/encryption.service.spec.ts
@@ -0,0 +1,184 @@
+import { Test, TestingModule } from '@nestjs/testing';
+import { EncryptionService } from './encryption.service';
+import { UnableToDecrypt, UnableToInitialize } from './encryption.errors';
+import { EnvironmentService } from '../environment/environment.service';
+
+const APP_SECRET = 'test-app-secret-with-plenty-of-entropy-1234567890';
+
+const buildService = (appSecret: string | undefined) => {
+ const env = { getAppSecret: () => appSecret } as EnvironmentService;
+ return new EncryptionService(env);
+};
+
+const decodeEnvelope = (encrypted: string) =>
+ JSON.parse(Buffer.from(encrypted, 'base64').toString()) as {
+ iv: string;
+ authTag: string;
+ cipherText: string;
+ };
+
+const encodeEnvelope = (envelope: {
+ iv: string;
+ authTag: string;
+ cipherText: string;
+}) => Buffer.from(JSON.stringify(envelope)).toString('base64');
+
+describe('EncryptionService', () => {
+ let service: EncryptionService;
+
+ beforeEach(async () => {
+ const module: TestingModule = await Test.createTestingModule({
+ providers: [
+ EncryptionService,
+ {
+ provide: EnvironmentService,
+ useValue: { getAppSecret: () => APP_SECRET },
+ },
+ ],
+ }).compile();
+
+ service = module.get(EncryptionService);
+ });
+
+ describe('initialization', () => {
+ it('compiles via Nest DI', () => {
+ expect(service).toBeDefined();
+ });
+
+ it('throws UnableToInitialize when APP_SECRET is missing', () => {
+ expect(() => buildService(undefined)).toThrow(UnableToInitialize);
+ expect(() => buildService('')).toThrow(UnableToInitialize);
+ });
+ });
+
+ describe('encrypt + decrypt round-trip', () => {
+ it('decrypts back to the original plaintext', () => {
+ const plaintext = 'hello world';
+ const encrypted = service.encrypt(plaintext);
+ expect(service.decrypt(encrypted)).toBe(plaintext);
+ });
+
+ it('handles empty string', () => {
+ const encrypted = service.encrypt('');
+ expect(service.decrypt(encrypted)).toBe('');
+ });
+
+ it('handles unicode (multi-byte UTF-8)', () => {
+ const plaintext = 'hรฉllo ๐ ไธ็';
+ const encrypted = service.encrypt(plaintext);
+ expect(service.decrypt(encrypted)).toBe(plaintext);
+ });
+
+ it('handles long plaintext (>1 block)', () => {
+ const plaintext = 'a'.repeat(10_000);
+ const encrypted = service.encrypt(plaintext);
+ expect(service.decrypt(encrypted)).toBe(plaintext);
+ });
+
+ it('produces distinct ciphertexts for the same plaintext (random IV)', () => {
+ const plaintext = 'same input';
+ const a = service.encrypt(plaintext);
+ const b = service.encrypt(plaintext);
+ expect(a).not.toBe(b);
+ expect(service.decrypt(a)).toBe(plaintext);
+ expect(service.decrypt(b)).toBe(plaintext);
+ });
+ });
+
+ describe('cross-key isolation', () => {
+ it('cannot decrypt ciphertext produced under a different APP_SECRET', () => {
+ const other = buildService('totally-different-secret-value-9876543210');
+ const encrypted = service.encrypt('secret');
+ expect(() => other.decrypt(encrypted)).toThrow(UnableToDecrypt);
+ });
+ });
+
+ describe('tamper detection', () => {
+ it('rejects modified ciphertext', () => {
+ const encrypted = service.encrypt('hello');
+ const env = decodeEnvelope(encrypted);
+ const tamperedCipher = Buffer.from(env.cipherText, 'base64');
+ tamperedCipher[0] ^= 0x01;
+ const tampered = encodeEnvelope({
+ ...env,
+ cipherText: tamperedCipher.toString('base64'),
+ });
+ expect(() => service.decrypt(tampered)).toThrow(UnableToDecrypt);
+ });
+
+ it('rejects modified auth tag', () => {
+ const encrypted = service.encrypt('hello');
+ const env = decodeEnvelope(encrypted);
+ const tamperedTag = Buffer.from(env.authTag, 'base64');
+ tamperedTag[0] ^= 0x01;
+ const tampered = encodeEnvelope({
+ ...env,
+ authTag: tamperedTag.toString('base64'),
+ });
+ expect(() => service.decrypt(tampered)).toThrow(UnableToDecrypt);
+ });
+
+ it('rejects modified IV', () => {
+ const encrypted = service.encrypt('hello');
+ const env = decodeEnvelope(encrypted);
+ const tamperedIV = Buffer.from(env.iv, 'base64');
+ tamperedIV[0] ^= 0x01;
+ const tampered = encodeEnvelope({
+ ...env,
+ iv: tamperedIV.toString('base64'),
+ });
+ expect(() => service.decrypt(tampered)).toThrow(UnableToDecrypt);
+ });
+ });
+
+ describe('malformed payloads', () => {
+ it('rejects non-base64 garbage', () => {
+ expect(() => service.decrypt('!!!not-valid-base64!!!')).toThrow(
+ UnableToDecrypt,
+ );
+ });
+
+ it('rejects base64 of non-JSON', () => {
+ const garbage = Buffer.from('not json at all').toString('base64');
+ expect(() => service.decrypt(garbage)).toThrow(UnableToDecrypt);
+ });
+
+ it('rejects JSON missing required fields', () => {
+ const partial = encodeEnvelope({
+ iv: Buffer.alloc(12).toString('base64'),
+ authTag: Buffer.alloc(16).toString('base64'),
+ } as never);
+ expect(() => service.decrypt(partial)).toThrow(UnableToDecrypt);
+ });
+
+ it('rejects wrong-length IV', () => {
+ const encrypted = service.encrypt('hello');
+ const env = decodeEnvelope(encrypted);
+ const bad = encodeEnvelope({
+ ...env,
+ iv: Buffer.alloc(8).toString('base64'),
+ });
+ expect(() => service.decrypt(bad)).toThrow(UnableToDecrypt);
+ });
+
+ it('rejects wrong-length auth tag', () => {
+ const encrypted = service.encrypt('hello');
+ const env = decodeEnvelope(encrypted);
+ const bad = encodeEnvelope({
+ ...env,
+ authTag: Buffer.alloc(8).toString('base64'),
+ });
+ expect(() => service.decrypt(bad)).toThrow(UnableToDecrypt);
+ });
+ });
+
+ describe('envelope format', () => {
+ it('returns base64 of JSON envelope with iv (12B), authTag (16B), cipherText', () => {
+ const encrypted = service.encrypt('hello');
+ const env = decodeEnvelope(encrypted);
+ expect(Buffer.from(env.iv, 'base64')).toHaveLength(12);
+ expect(Buffer.from(env.authTag, 'base64')).toHaveLength(16);
+ expect(Buffer.from(env.cipherText, 'base64').length).toBeGreaterThan(0);
+ });
+ });
+});
diff --git a/apps/server/src/integrations/encryption/encryption.service.ts b/apps/server/src/integrations/encryption/encryption.service.ts
new file mode 100644
index 000000000..63dc4ce99
--- /dev/null
+++ b/apps/server/src/integrations/encryption/encryption.service.ts
@@ -0,0 +1,108 @@
+// https://github.com/nhedger/nestjs-encryption - MIT
+import { Injectable } from '@nestjs/common';
+import {
+ createCipheriv,
+ createDecipheriv,
+ createHash,
+ randomBytes,
+} from 'node:crypto';
+import { UnableToDecrypt, UnableToInitialize } from './encryption.errors';
+import { EnvironmentService } from '../environment/environment.service';
+
+const ALGORITHM = 'aes-256-gcm';
+const KEY_DOMAIN = 'docmost:encryption:v1';
+const IV_LENGTH = 12;
+const AUTH_TAG_LENGTH = 16;
+
+type AEADPayload = {
+ iv: TFormat;
+ authTag: TFormat;
+ cipherText: TFormat;
+};
+
+@Injectable()
+export class EncryptionService {
+ private readonly key: Buffer;
+
+ constructor(environmentService: EnvironmentService) {
+ const appSecret = environmentService.getAppSecret();
+ if (!appSecret) {
+ throw new UnableToInitialize('APP_SECRET is not set.');
+ }
+ this.key = createHash('sha256')
+ .update(KEY_DOMAIN)
+ .update(appSecret)
+ .digest();
+ }
+
+ public encrypt(plaintext: string): string {
+ const iv = randomBytes(IV_LENGTH);
+ const cipher = createCipheriv(ALGORITHM, this.key, iv);
+ const cipherText = Buffer.concat([
+ cipher.update(plaintext, 'utf8'),
+ cipher.final(),
+ ]);
+ const authTag = cipher.getAuthTag();
+
+ const aead: AEADPayload = {
+ iv: iv.toString('base64'),
+ authTag: authTag.toString('base64'),
+ cipherText: cipherText.toString('base64'),
+ };
+
+ return Buffer.from(JSON.stringify(aead)).toString('base64');
+ }
+
+ public decrypt(encrypted: string): string {
+ try {
+ const { iv, authTag, cipherText } = this.decodeAEADPayload(encrypted);
+ const decipher = createDecipheriv(ALGORITHM, this.key, iv);
+ decipher.setAuthTag(authTag);
+ const decrypted = Buffer.concat([
+ decipher.update(cipherText),
+ decipher.final(),
+ ]);
+ return decrypted.toString('utf8');
+ } catch (e: unknown) {
+ throw new UnableToDecrypt((e as Error).message);
+ }
+ }
+
+ private decodeAEADPayload(encodedPayload: string): AEADPayload {
+ const payload = Buffer.from(encodedPayload, 'base64');
+
+ let deserializedPkg: Record;
+ try {
+ deserializedPkg = JSON.parse(payload.toString());
+ } catch {
+ throw new Error('The decoded AEAD payload is not a valid JSON string.');
+ }
+
+ for (const field of ['iv', 'authTag', 'cipherText']) {
+ if (!Object.prototype.hasOwnProperty.call(deserializedPkg, field)) {
+ throw new Error(`The AEAD payload is missing the ${field} field.`);
+ }
+ }
+
+ const iv = Buffer.from(deserializedPkg.iv as string, 'base64');
+ if (iv.length !== IV_LENGTH) {
+ throw new Error(
+ `The decoded IV is not the correct length. Expected ${IV_LENGTH} bytes, got ${iv.length} bytes.`,
+ );
+ }
+
+ const authTag = Buffer.from(deserializedPkg.authTag as string, 'base64');
+ if (authTag.length !== AUTH_TAG_LENGTH) {
+ throw new Error(
+ `The decoded auth tag is not the correct length. Expected ${AUTH_TAG_LENGTH} bytes, got ${authTag.length} bytes.`,
+ );
+ }
+
+ const cipherText = Buffer.from(
+ deserializedPkg.cipherText as string,
+ 'base64',
+ );
+
+ return { iv, authTag, cipherText };
+ }
+}
diff --git a/apps/server/src/integrations/environment/environment.service.ts b/apps/server/src/integrations/environment/environment.service.ts
index 5667bf5a6..c483df626 100644
--- a/apps/server/src/integrations/environment/environment.service.ts
+++ b/apps/server/src/integrations/environment/environment.service.ts
@@ -310,6 +310,31 @@ export class EnvironmentService {
return val === 'true';
}
+ getAiVectorDriver(): string {
+ return this.configService
+ .get('AI_VECTOR_DRIVER', 'pgvector')
+ .toLowerCase();
+ }
+
+ getTurbopufferApiKey(): string {
+ return this.configService.get('TURBOPUFFER_API_KEY');
+ }
+
+ getTurbopufferRegion(): string {
+ return this.configService.get('TURBOPUFFER_REGION');
+ }
+
+ getTurbopufferBaseUrl(): string {
+ return this.configService.get('TURBOPUFFER_BASE_URL');
+ }
+
+ getTurbopufferNamespacePrefix(): string {
+ return this.configService.get(
+ 'TURBOPUFFER_NAMESPACE_PREFIX',
+ 'docmost',
+ );
+ }
+
getOpenAiApiKey(): string {
return this.configService.get('OPENAI_API_KEY');
}
diff --git a/apps/server/src/integrations/environment/environment.validation.ts b/apps/server/src/integrations/environment/environment.validation.ts
index ef3c420cf..d431d7e3a 100644
--- a/apps/server/src/integrations/environment/environment.validation.ts
+++ b/apps/server/src/integrations/environment/environment.validation.ts
@@ -5,6 +5,7 @@ import {
IsOptional,
IsString,
IsUrl,
+ Matches,
MinLength,
ValidateIf,
validateSync,
@@ -108,6 +109,41 @@ export class EnvironmentVariables {
@IsString()
AI_DRIVER: string;
+ @IsOptional()
+ @ValidateIf((obj) => obj.AI_VECTOR_DRIVER)
+ @IsIn(['pgvector', 'turbopuffer'])
+ @IsString()
+ AI_VECTOR_DRIVER: string;
+
+ @ValidateIf((obj) => obj.AI_VECTOR_DRIVER === 'turbopuffer')
+ @IsNotEmpty()
+ @IsString()
+ TURBOPUFFER_API_KEY: string;
+
+ @ValidateIf(
+ (obj) =>
+ obj.AI_VECTOR_DRIVER === 'turbopuffer' && !obj.TURBOPUFFER_BASE_URL,
+ )
+ @IsNotEmpty({
+ message:
+ 'TURBOPUFFER_REGION is required when AI_VECTOR_DRIVER is turbopuffer, unless TURBOPUFFER_BASE_URL is set',
+ })
+ @IsString()
+ TURBOPUFFER_REGION: string;
+
+ @IsOptional()
+ @ValidateIf((obj) => obj.TURBOPUFFER_BASE_URL != '' && obj.TURBOPUFFER_BASE_URL != null)
+ @IsUrl({ protocols: ['http', 'https'], require_tld: false })
+ TURBOPUFFER_BASE_URL: string;
+
+ @IsOptional()
+ @IsString()
+ @Matches(/^[A-Za-z0-9\-_.]{1,90}$/, {
+ message:
+ 'TURBOPUFFER_NAMESPACE_PREFIX may only contain letters, digits, dot, dash, underscore (max 90 chars)',
+ })
+ TURBOPUFFER_NAMESPACE_PREFIX: string;
+
@IsOptional()
@IsString()
AI_EMBEDDING_MODEL: string;
diff --git a/apps/server/src/integrations/health/redis.health.ts b/apps/server/src/integrations/health/redis.health.ts
index 96ed53b6b..1c9f43611 100644
--- a/apps/server/src/integrations/health/redis.health.ts
+++ b/apps/server/src/integrations/health/redis.health.ts
@@ -5,6 +5,7 @@ import {
import { Injectable, Logger } from '@nestjs/common';
import { EnvironmentService } from '../environment/environment.service';
import { Redis } from 'ioredis';
+import { parseRedisUrl } from '../../common/helpers';
@Injectable()
export class RedisHealthIndicator {
@@ -19,8 +20,10 @@ export class RedisHealthIndicator {
const indicator = this.healthIndicatorService.check(key);
try {
- const redis = new Redis(this.environmentService.getRedisUrl(), {
+ const redisUrl = this.environmentService.getRedisUrl();
+ const redis = new Redis(redisUrl, {
maxRetriesPerRequest: 15,
+ tls: parseRedisUrl(redisUrl).tls,
});
await redis.ping();
diff --git a/apps/server/src/integrations/queue/constants/queue.constants.ts b/apps/server/src/integrations/queue/constants/queue.constants.ts
index 546553438..8b7c03a1f 100644
--- a/apps/server/src/integrations/queue/constants/queue.constants.ts
+++ b/apps/server/src/integrations/queue/constants/queue.constants.ts
@@ -61,6 +61,7 @@ export enum QueueJob {
WORKSPACE_DELETED = 'workspace-deleted',
WORKSPACE_CREATE_EMBEDDINGS = 'workspace-create-embeddings',
WORKSPACE_DELETE_EMBEDDINGS = 'workspace-delete-embeddings',
+ WORKSPACE_RESET_EMBEDDINGS = 'workspace-reset-embeddings',
GENERATE_PAGE_EMBEDDINGS = 'generate-page-embeddings',
DELETE_PAGE_EMBEDDINGS = 'delete-page-embeddings',
diff --git a/apps/server/src/integrations/queue/queue.module.ts b/apps/server/src/integrations/queue/queue.module.ts
index eeb74cbb3..fcb317dbf 100644
--- a/apps/server/src/integrations/queue/queue.module.ts
+++ b/apps/server/src/integrations/queue/queue.module.ts
@@ -18,6 +18,7 @@ import { GeneralQueueProcessor } from './processors/general-queue.processor';
password: redisConfig.password,
db: redisConfig.db,
family: redisConfig.family,
+ tls: redisConfig.tls,
retryStrategy: createRetryStrategy(),
},
defaultJobOptions: {
diff --git a/apps/server/src/integrations/redis/redis-config.service.ts b/apps/server/src/integrations/redis/redis-config.service.ts
index 719f89f12..7f3e90174 100644
--- a/apps/server/src/integrations/redis/redis-config.service.ts
+++ b/apps/server/src/integrations/redis/redis-config.service.ts
@@ -19,6 +19,7 @@ export class RedisConfigService implements RedisOptionsFactory {
password: redisConfig.password,
db: redisConfig.db,
family: redisConfig.family,
+ tls: redisConfig.tls,
retryStrategy: createRetryStrategy(),
},
};
diff --git a/apps/server/src/integrations/static/static.module.ts b/apps/server/src/integrations/static/static.module.ts
index f0b7e8319..8805804f3 100644
--- a/apps/server/src/integrations/static/static.module.ts
+++ b/apps/server/src/integrations/static/static.module.ts
@@ -49,6 +49,10 @@ export class StaticModule implements OnModuleInit {
: undefined,
POSTHOG_HOST: this.environmentService.getPostHogHost(),
POSTHOG_KEY: this.environmentService.getPostHogKey(),
+ AI_VECTOR_DRIVER:
+ this.environmentService.getAiVectorDriver() === 'turbopuffer'
+ ? 'turbopuffer'
+ : undefined,
};
const windowScriptContent = ``;
diff --git a/apps/server/src/integrations/storage/drivers/s3.driver.ts b/apps/server/src/integrations/storage/drivers/s3.driver.ts
index daf74d3b5..76d68a75a 100644
--- a/apps/server/src/integrations/storage/drivers/s3.driver.ts
+++ b/apps/server/src/integrations/storage/drivers/s3.driver.ts
@@ -15,7 +15,7 @@ import { getMimeType } from '../../../common/helpers';
import { Upload } from '@aws-sdk/lib-storage';
import { Logger } from '@nestjs/common';
-const S3_MAX_SOCKETS = 200;
+const S3_MAX_SOCKETS = parseInt(process.env.AWS_S3_MAX_SOCKETS) || 200;
export class S3Driver implements StorageDriver {
private readonly s3Client: S3Client;
diff --git a/apps/server/src/integrations/throttle/throttle.module.ts b/apps/server/src/integrations/throttle/throttle.module.ts
index 42dd0ec4a..827f671c1 100644
--- a/apps/server/src/integrations/throttle/throttle.module.ts
+++ b/apps/server/src/integrations/throttle/throttle.module.ts
@@ -3,7 +3,7 @@ import { ThrottlerModule } from '@nestjs/throttler';
import { ThrottlerStorageRedisService } from '@nest-lab/throttler-storage-redis';
import { EnvironmentService } from '../environment/environment.service';
import { EnvironmentModule } from '../environment/environment.module';
-import { parseRedisUrl } from '../../common/helpers';
+import { createRetryStrategy, parseRedisUrl } from '../../common/helpers';
import { AUTH_THROTTLER, AI_CHAT_THROTTLER } from './throttler-names';
import Redis from 'ioredis';
@@ -27,6 +27,8 @@ import Redis from 'ioredis';
password: redisConfig.password,
db: redisConfig.db,
family: redisConfig.family,
+ tls: redisConfig.tls,
+ retryStrategy: createRetryStrategy(),
keyPrefix: 'throttle:',
}),
),
diff --git a/apps/server/src/ws/adapter/ws-redis.adapter.ts b/apps/server/src/ws/adapter/ws-redis.adapter.ts
index a221c84a3..ee1be320c 100644
--- a/apps/server/src/ws/adapter/ws-redis.adapter.ts
+++ b/apps/server/src/ws/adapter/ws-redis.adapter.ts
@@ -17,6 +17,7 @@ export class WsRedisIoAdapter extends IoAdapter {
const options: RedisOptions = {
family: this.redisConfig.family,
+ tls: this.redisConfig.tls,
retryStrategy: createRetryStrategy(),
};
diff --git a/package.json b/package.json
index ffd379306..f51701448 100644
--- a/package.json
+++ b/package.json
@@ -23,49 +23,49 @@
"@casl/ability": "6.8.0",
"@docmost/editor-ext": "workspace:*",
"@floating-ui/dom": "1.7.3",
- "@hocuspocus/common": "4.4.0",
- "@hocuspocus/provider": "4.4.0",
- "@hocuspocus/provider-react": "4.4.0",
- "@hocuspocus/server": "4.4.0",
- "@hocuspocus/transformer": "4.4.0",
+ "@hocuspocus/common": "4.5.0",
+ "@hocuspocus/provider": "4.5.0",
+ "@hocuspocus/provider-react": "4.5.0",
+ "@hocuspocus/server": "4.5.0",
+ "@hocuspocus/transformer": "4.5.0",
"@joplin/turndown": "4.0.82",
"@joplin/turndown-plugin-gfm": "1.0.64",
"@sindresorhus/slugify": "3.0.0",
- "@tiptap/core": "3.28.0",
- "@tiptap/extension-audio": "3.28.0",
- "@tiptap/extension-code-block": "3.28.0",
- "@tiptap/extension-collaboration": "3.28.0",
- "@tiptap/extension-collaboration-caret": "3.28.0",
- "@tiptap/extension-color": "3.28.0",
- "@tiptap/extension-document": "3.28.0",
- "@tiptap/extension-heading": "3.28.0",
- "@tiptap/extension-highlight": "3.28.0",
- "@tiptap/extension-history": "3.28.0",
- "@tiptap/extension-image": "3.28.0",
- "@tiptap/extension-link": "3.28.0",
- "@tiptap/extension-list": "3.28.0",
- "@tiptap/extension-placeholder": "3.28.0",
- "@tiptap/extension-subscript": "3.28.0",
- "@tiptap/extension-superscript": "3.28.0",
- "@tiptap/extension-table": "3.28.0",
- "@tiptap/extension-text": "3.28.0",
- "@tiptap/extension-text-align": "3.28.0",
- "@tiptap/extension-text-style": "3.28.0",
- "@tiptap/extension-typography": "3.28.0",
- "@tiptap/extension-unique-id": "3.28.0",
- "@tiptap/extension-youtube": "3.28.0",
- "@tiptap/html": "3.28.0",
- "@tiptap/pm": "3.28.0",
- "@tiptap/react": "3.28.0",
- "@tiptap/starter-kit": "3.28.0",
- "@tiptap/suggestion": "3.28.0",
+ "@tiptap/core": "3.29.2",
+ "@tiptap/extension-audio": "3.29.2",
+ "@tiptap/extension-code-block": "3.29.2",
+ "@tiptap/extension-collaboration": "3.29.2",
+ "@tiptap/extension-collaboration-caret": "3.29.2",
+ "@tiptap/extension-color": "3.29.2",
+ "@tiptap/extension-document": "3.29.2",
+ "@tiptap/extension-heading": "3.29.2",
+ "@tiptap/extension-highlight": "3.29.2",
+ "@tiptap/extension-history": "3.29.2",
+ "@tiptap/extension-image": "3.29.2",
+ "@tiptap/extension-link": "3.29.2",
+ "@tiptap/extension-list": "3.29.2",
+ "@tiptap/extension-placeholder": "3.29.2",
+ "@tiptap/extension-subscript": "3.29.2",
+ "@tiptap/extension-superscript": "3.29.2",
+ "@tiptap/extension-table": "3.29.2",
+ "@tiptap/extension-text": "3.29.2",
+ "@tiptap/extension-text-align": "3.29.2",
+ "@tiptap/extension-text-style": "3.29.2",
+ "@tiptap/extension-typography": "3.29.2",
+ "@tiptap/extension-unique-id": "3.29.2",
+ "@tiptap/extension-youtube": "3.29.2",
+ "@tiptap/html": "3.29.2",
+ "@tiptap/pm": "3.29.2",
+ "@tiptap/react": "3.29.2",
+ "@tiptap/starter-kit": "3.29.2",
+ "@tiptap/suggestion": "3.29.2",
"@tiptap/y-tiptap": "3.0.7",
"bytes": "3.1.2",
"cross-env": "10.1.0",
"date-fns": "4.1.0",
"diff": "8.0.3",
"docx": "9.7.1",
- "dompurify": "3.4.11",
+ "dompurify": "3.4.13",
"fractional-indexing-jittered": "1.0.0",
"highlight.js": "11.11.1",
"image-dimensions": "2.5.0",
@@ -81,12 +81,12 @@
"yjs": "^13.6.30"
},
"devDependencies": {
- "@nx/js": "22.6.1",
+ "@nx/js": "23.1.1",
"@types/bytes": "3.1.5",
"@types/qrcode": "1.5.6",
"@types/turndown": "5.0.6",
- "concurrently": "9.2.3",
- "nx": "22.6.1",
+ "concurrently": "10.0.4",
+ "nx": "23.1.1",
"tsx": "^4.21.0"
},
"workspaces": {
diff --git a/packages/editor-ext/src/index.ts b/packages/editor-ext/src/index.ts
index d8ed68f2f..80a67f449 100644
--- a/packages/editor-ext/src/index.ts
+++ b/packages/editor-ext/src/index.ts
@@ -32,6 +32,7 @@ export * from "./lib/columns";
export * from "./lib/status";
export * from "./lib/pdf";
export * from "./lib/page-break";
+export * from "./lib/footnotes";
export * from "./lib/resizable-nodeview";
export {
pageNodeToDocxBuffer,
diff --git a/packages/editor-ext/src/lib/embed-provider.ts b/packages/editor-ext/src/lib/embed-provider.ts
index 4c286a8b8..4c775532a 100644
--- a/packages/editor-ext/src/lib/embed-provider.ts
+++ b/packages/editor-ext/src/lib/embed-provider.ts
@@ -73,9 +73,13 @@ export const embedProviders: IEmbedProvider[] = [
id: "vimeo",
name: "Vimeo",
regex:
- /^(https:)?\/\/(?:www\.|player\.)?vimeo.com\/(?:channels\/(?:\w+\/)?|groups\/([^/]*)\/videos\/|album\/(\d+)\/video\/|video\/|)(\d+)/,
- getEmbedUrl: (match) => {
- return `https://player.vimeo.com/video/${match[4]}`;
+ /^(https:)?\/\/(?:www\.|player\.)?vimeo.com\/(?:channels\/(?:\w+\/)?|groups\/([^/]*)\/videos\/|album\/(\d+)\/video\/|video\/|)(\d+)(?:\/([\da-zA-Z]+))?/,
+ getEmbedUrl: (match, url: string) => {
+ // preserve ?h= hash for unlisted videos
+ const hash =
+ match[5] ?? new URL(url, "https://vimeo.com").searchParams.get("h");
+ const base = `https://player.vimeo.com/video/${match[4]}`;
+ return hash ? `${base}?h=${hash}` : base;
},
},
{
diff --git a/packages/editor-ext/src/lib/footnotes/footnote.ts b/packages/editor-ext/src/lib/footnotes/footnote.ts
new file mode 100644
index 000000000..f83ab757a
--- /dev/null
+++ b/packages/editor-ext/src/lib/footnotes/footnote.ts
@@ -0,0 +1,189 @@
+//Source MIT - https://github.com/buttondown/tiptap-footnotes
+import { mergeAttributes } from "@tiptap/core";
+import ListItem, { ListItemOptions } from "@tiptap/extension-list-item";
+
+declare module "@tiptap/core" {
+ interface Commands {
+ footnote: {
+ /**
+ * scrolls to & sets the text selection at the end of the footnote with the given id
+ * @param id the id of the footote (i.e. the `data-id` attribute value of the footnote)
+ * @example editor.commands.focusFootnote("a43956c1-1ab8-462f-96e4-be3a4b27fd50")
+ */
+ focusFootnote: (id: string) => ReturnType;
+ };
+ }
+}
+
+export interface FootnoteOptions extends ListItemOptions {
+ /**
+ * Content expression for this node
+ * @default "paragraph+"
+ */
+ content: string;
+}
+
+const Footnote = ListItem.extend({
+ name: "footnote",
+ content() {
+ return this.options.content;
+ },
+ isolating: true,
+ defining: true,
+ draggable: false,
+
+ addOptions() {
+ return {
+ HTMLAttributes: {},
+ bulletListTypeName: 'bulletList',
+ orderedListTypeName: 'orderedList',
+ ...this.parent?.(),
+ content: "paragraph+",
+ };
+ },
+
+ addAttributes() {
+ return {
+ id: {
+ isRequired: true,
+ },
+ // the data-id field should match the data-id field of a footnote reference.
+ // it's used to link footnotes and references together.
+ "data-id": {
+ isRequired: true,
+ },
+ };
+ },
+ parseHTML() {
+ return [
+ {
+ tag: "li",
+ getAttrs(node) {
+ const id = node.getAttribute("data-id");
+ if (id) {
+ return {
+ "data-id": node.getAttribute("data-id"),
+ };
+ }
+ return false;
+ },
+ priority: 1000,
+ },
+ ];
+ },
+ renderHTML({ HTMLAttributes }) {
+ return [
+ "li",
+ mergeAttributes(this.options.HTMLAttributes, HTMLAttributes),
+ 0,
+ ];
+ },
+
+ addCommands() {
+ return {
+ focusFootnote:
+ (id: string) =>
+ ({ editor, chain }) => {
+ const matchedFootnote = editor.$node("footnote", {
+ "data-id": id,
+ });
+ if (matchedFootnote) {
+ // sets the text selection to the end of the footnote definition and scroll to it.
+ chain()
+ .focus()
+ .setTextSelection(
+ matchedFootnote.from + matchedFootnote.content.size
+ )
+ .run();
+
+ matchedFootnote.element.scrollIntoView();
+ return true;
+ }
+ return false;
+ },
+ };
+ },
+ addKeyboardShortcuts() {
+ return {
+ // when inside a footnote, Mod-a should select only the footnote content
+ "Mod-a": ({ editor }) => {
+ try {
+ const { selection } = editor.state;
+ const { $from } = selection;
+
+ for (let depth = $from.depth; depth >= 0; depth--) {
+ const node = $from.node(depth);
+ if (node.type.name === "footnote") {
+ const start = $from.start(depth);
+ const end = $from.end(depth);
+
+ editor.commands.setTextSelection({
+ from: start + 1,
+ to: end - 1,
+ });
+ return true;
+ }
+ }
+
+ return false;
+ } catch (e) {
+ return false;
+ }
+ },
+ // when the user presses tab, adjust the text selection to be at the end of the next footnote
+ Tab: ({ editor }) => {
+ try {
+ const { selection } = editor.state;
+ const pos = editor.$pos(selection.anchor);
+ if (!pos.after) return false;
+ // if the next node is "footnotes", place the text selection at the end of the first footnote
+ if (pos.after.node.type.name == "footnotes") {
+ const firstChild = pos.after.node.child(0);
+ editor
+ .chain()
+ .setTextSelection(pos.after.from + firstChild.content.size)
+ .scrollIntoView()
+ .run();
+ return true;
+ } else {
+ const startPos = selection.$from.start(2);
+ if (Number.isNaN(startPos)) return false;
+ const parent = editor.$pos(startPos);
+ if (parent.node.type.name != "footnote" || !parent.after) {
+ return false;
+ }
+ // if the next node is a footnote, place the text selection at the end of it
+ editor
+ .chain()
+ .setTextSelection(parent.after.to - 1)
+ .scrollIntoView()
+ .run();
+ return true;
+ }
+ } catch {
+ return false;
+ }
+ },
+ // inverse of the tab command - place the text selection at the end of the previous footnote
+ "Shift-Tab": ({ editor }) => {
+ const { selection } = editor.state;
+ const startPos = selection.$from.start(2);
+ if (Number.isNaN(startPos)) return false;
+ const parent = editor.$pos(startPos);
+ if (parent.node.type.name != "footnote" || !parent.before) {
+ return false;
+ }
+
+ editor
+ .chain()
+ .setTextSelection(parent.before.to - 1)
+ .scrollIntoView()
+ .run();
+ return true;
+ },
+ };
+ },
+
+});
+
+export default Footnote;
diff --git a/packages/editor-ext/src/lib/footnotes/footnotes.ts b/packages/editor-ext/src/lib/footnotes/footnotes.ts
new file mode 100644
index 000000000..c07528b16
--- /dev/null
+++ b/packages/editor-ext/src/lib/footnotes/footnotes.ts
@@ -0,0 +1,46 @@
+//Source MIT - https://github.com/buttondown/tiptap-footnotes
+import OrderedList from "@tiptap/extension-ordered-list";
+import FootnoteRules from "./rules";
+
+const Footnotes = OrderedList.extend({
+ name: "footnotes",
+ group: "", // removed the default group of the ordered list extension
+ isolating: true,
+ defining: true,
+ draggable: false,
+
+ content() {
+ return "footnote*";
+ },
+ addAttributes() {
+ return {
+ class: {
+ default: "footnotes",
+ },
+ };
+ },
+ parseHTML() {
+ return [
+ {
+ tag: "ol.footnotes",
+ priority: 1000,
+ },
+ ];
+ },
+
+ addKeyboardShortcuts() {
+ return {};
+ },
+ addCommands() {
+ return {};
+ },
+ addInputRules() {
+ return [];
+ },
+
+ addExtensions() {
+ return [FootnoteRules];
+ },
+});
+
+export default Footnotes;
diff --git a/packages/editor-ext/src/lib/footnotes/index.ts b/packages/editor-ext/src/lib/footnotes/index.ts
new file mode 100644
index 000000000..b22501b3b
--- /dev/null
+++ b/packages/editor-ext/src/lib/footnotes/index.ts
@@ -0,0 +1,4 @@
+export { default as Footnotes } from "./footnotes";
+export { default as Footnote } from "./footnote";
+export type { FootnoteOptions } from "./footnote";
+export { default as FootnoteReference } from "./reference";
diff --git a/packages/editor-ext/src/lib/footnotes/reference.ts b/packages/editor-ext/src/lib/footnotes/reference.ts
new file mode 100644
index 000000000..6bada1281
--- /dev/null
+++ b/packages/editor-ext/src/lib/footnotes/reference.ts
@@ -0,0 +1,221 @@
+//Source MIT - https://github.com/buttondown/tiptap-footnotes
+import { mergeAttributes, Node } from "@tiptap/core";
+import {
+ Fragment as PMFragment,
+ Node as PMNode,
+ Slice,
+} from "@tiptap/pm/model";
+import { NodeSelection, Plugin, PluginKey } from "@tiptap/pm/state";
+import { generateNodeId } from "../utils";
+
+
+const REFNUM_ATTR = "data-reference-number";
+const REF_CLASS = "footnote-ref";
+
+declare module "@tiptap/core" {
+ interface Commands {
+ footnoteReference: {
+ /**
+ * add a new footnote reference
+ * @example editor.commands.addFootnote()
+ */
+ addFootnote: () => ReturnType;
+ };
+ }
+}
+
+const FootnoteReference = Node.create({
+ name: "footnoteReference",
+ inline: true,
+ content: "text*",
+ group: "inline",
+ atom: true,
+ draggable: true,
+
+ parseHTML() {
+ return [
+ {
+ tag: `sup`,
+ priority: 1000,
+ getAttrs(node) {
+ const anchor = node.querySelector(
+ `a.${REF_CLASS}:first-child`
+ );
+
+ if (!anchor) {
+ return false;
+ }
+
+ const id = anchor.getAttribute("data-id");
+ const ref = anchor.getAttribute(REFNUM_ATTR);
+
+ return {
+ "data-id": id ?? generateNodeId(),
+ referenceNumber: ref ?? anchor.innerText,
+ };
+ },
+ contentElement(node) {
+ return node.firstChild as HTMLElement;
+ },
+ },
+ ];
+ },
+
+ addAttributes() {
+ return {
+ class: {
+ default: REF_CLASS,
+ },
+ "data-id": {
+ renderHTML(attributes) {
+ return {
+ "data-id": attributes["data-id"] || generateNodeId(),
+ };
+ },
+ },
+ referenceNumber: {},
+
+ href: {
+ renderHTML(attributes) {
+ return {
+ href: `#fn:${attributes["referenceNumber"]}`,
+ };
+ },
+ },
+ };
+ },
+
+ renderHTML({ HTMLAttributes }) {
+ const { referenceNumber, ...attributes } = HTMLAttributes;
+ const attrs = mergeAttributes(this.options.HTMLAttributes, attributes);
+ attrs[REFNUM_ATTR] = referenceNumber;
+
+ return [
+ "sup",
+ { id: `fnref:${referenceNumber}` },
+ ["a", attrs, HTMLAttributes.referenceNumber],
+ ];
+ },
+
+ addProseMirrorPlugins() {
+ const { editor } = this;
+
+ // Ensures pasted footnote references get unique IDs.
+ const mapNode = (node: PMNode): PMNode => {
+ if (node.type.name === this.name) {
+ const newAttrs = { ...node.attrs, "data-id": generateNodeId() };
+ return node.type.create(newAttrs, node.content, node.marks);
+ }
+
+ if (node.content && node.content.size > 0) {
+ const newChildren: PMNode[] = [];
+ let changed = false;
+
+ node.content.forEach((child) => {
+ const mapped = mapNode(child);
+ if (mapped !== child) {
+ changed = true;
+ }
+
+ newChildren.push(mapped);
+ });
+
+ if (changed) {
+ return node.copy(PMFragment.from(newChildren));
+ }
+ }
+
+ return node;
+ };
+
+ return [
+ new Plugin({
+ key: new PluginKey("footnotePasteHandler"),
+ props: {
+ transformPasted(slice) {
+ const mappedNodes: PMNode[] = [];
+ let changed = false;
+
+ slice.content.forEach((node) => {
+ const mapped = mapNode(node);
+ if (mapped !== node) {
+ changed = true;
+ }
+ mappedNodes.push(mapped);
+ });
+
+ if (!changed) {
+ return slice;
+ }
+
+ return new Slice(
+ PMFragment.from(mappedNodes),
+ slice.openStart,
+ slice.openEnd
+ );
+ },
+ },
+ }),
+ new Plugin({
+ key: new PluginKey("footnoteRefClick"),
+
+ props: {
+ // on double-click, focus on the footnote
+ handleDoubleClickOn(view, pos, node, nodePos, event) {
+ if (node.type.name != "footnoteReference") return false;
+ event.preventDefault();
+ const id = node.attrs["data-id"];
+ return editor.commands.focusFootnote(id);
+ },
+ // click the footnote reference once to get focus, click twice to scroll to the footnote
+ handleClickOn(view, pos, node, nodePos, event) {
+ if (node.type.name != "footnoteReference") return false;
+ event.preventDefault();
+ const { selection } = editor.state.tr;
+ if (selection instanceof NodeSelection && selection.node.eq(node)) {
+ const id = node.attrs["data-id"];
+ return editor.commands.focusFootnote(id);
+ } else {
+ editor.chain().setNodeSelection(nodePos).run();
+ return true;
+ }
+ },
+ },
+ }),
+ ];
+ },
+
+ addCommands() {
+ return {
+ addFootnote:
+ () =>
+ ({ state, tr }) => {
+ const node = this.type.create({
+ "data-id": generateNodeId(),
+ });
+ tr.insert(state.selection.anchor, node);
+ return true;
+ },
+ };
+ },
+
+ addInputRules() {
+ // when a user types [^text], add a new footnote
+ return [
+ {
+ find: /\[\^(.*?)\]/,
+ type: this.type,
+ undoable: true,
+ handler({ range, match, chain }) {
+ const start = range.from;
+ let end = range.to;
+ if (match[1]) {
+ chain().deleteRange({ from: start, to: end }).addFootnote().run();
+ }
+ },
+ },
+ ];
+ },
+});
+
+export default FootnoteReference;
diff --git a/packages/editor-ext/src/lib/footnotes/rules.ts b/packages/editor-ext/src/lib/footnotes/rules.ts
new file mode 100644
index 000000000..7064916c0
--- /dev/null
+++ b/packages/editor-ext/src/lib/footnotes/rules.ts
@@ -0,0 +1,90 @@
+//Source MIT - https://github.com/buttondown/tiptap-footnotes
+import { Plugin, PluginKey } from "@tiptap/pm/state";
+import { ReplaceStep } from "@tiptap/pm/transform";
+import { Extension } from "@tiptap/core";
+import { updateFootnotesList } from "./utils";
+
+const FootnoteRules = Extension.create({
+ name: "footnoteRules",
+ priority: 1000,
+ addProseMirrorPlugins() {
+ return [
+ new Plugin({
+ key: new PluginKey("footnoteRules"),
+ filterTransaction(tr) {
+ const { from, to } = tr.selection;
+
+ // Allow full document selections (Mod-a/Ctrl-a)
+ if (from === 0 && to === tr.doc.content.size) return true;
+
+ let selectedFootnotes = false;
+ let selectedContent = false;
+ let footnoteCount = 0;
+ tr.doc.nodesBetween(from, to, (node, _, parent) => {
+ if (parent?.type.name == "doc" && node.type.name != "footnotes") {
+ selectedContent = true;
+ } else if (node.type.name == "footnote") {
+ footnoteCount += 1;
+ } else if (node.type.name == "footnotes") {
+ selectedFootnotes = true;
+ }
+ });
+ const overSelected = selectedContent && selectedFootnotes;
+ /*
+ * Here, we don't allow any transaction that spans between the "content" nodes and the "footnotes" node. This also rejects any transaction that spans between more than 1 footnote.
+ */
+ return !overSelected && footnoteCount <= 1;
+ },
+
+ // if there are some to the footnote references (added/deleted/dragged), append a transaction that updates the footnotes list accordingly
+ appendTransaction(transactions, oldState, newState) {
+ let newTr = newState.tr;
+ let refsChanged = false; // true if the footnote references have been changed, false otherwise
+ for (let tr of transactions) {
+ if (!tr.docChanged) continue;
+ if (refsChanged) break;
+
+ for (let step of tr.steps) {
+ if (!(step instanceof ReplaceStep)) continue;
+ if (refsChanged) break;
+
+ const isDelete = step.from != step.to; // the user deleted items from the document (from != to & the step is a replace step)
+ const isInsert = step.slice.size > 0;
+
+ // check if any footnote references have been inserted
+ if (isInsert) {
+ step.slice.content.descendants((node) => {
+ if (node?.type.name == "footnoteReference") {
+ refsChanged = true;
+ return false;
+ }
+ });
+ }
+ if (isDelete && !refsChanged) {
+ // check if any footnote references have been deleted
+ tr.before.nodesBetween(
+ step.from,
+ Math.min(tr.before.content.size, step.to), // make sure to not go over the old document's limit
+ (node) => {
+ if (node.type.name == "footnoteReference") {
+ refsChanged = true;
+ return false;
+ }
+ },
+ );
+ }
+ }
+ }
+
+ if (refsChanged) {
+ updateFootnotesList(newTr, newState);
+ return newTr;
+ }
+
+ return null;
+ },
+ }),
+ ];
+ },
+});
+export default FootnoteRules;
diff --git a/packages/editor-ext/src/lib/footnotes/utils.ts b/packages/editor-ext/src/lib/footnotes/utils.ts
new file mode 100644
index 000000000..cb9190178
--- /dev/null
+++ b/packages/editor-ext/src/lib/footnotes/utils.ts
@@ -0,0 +1,123 @@
+//Source MIT - https://github.com/buttondown/tiptap-footnotes
+import { EditorState, Transaction } from "@tiptap/pm/state";
+import { Fragment, Node } from "@tiptap/pm/model";
+
+// update the reference number of all the footnote references in the document
+export function updateFootnoteReferences(tr: Transaction) {
+ let count = 1;
+
+ const nodes: any[] = [];
+
+ tr.doc.descendants((node, pos) => {
+ if (node.type.name == "footnoteReference") {
+ tr.setNodeAttribute(pos, "referenceNumber", `${count}`);
+
+ nodes.push(node);
+ count += 1;
+ }
+ });
+ // return the updated footnote references (in the order that they appear in the document)
+ return nodes;
+}
+
+function getFootnotes(tr: Transaction) {
+ let footnotesRange: { from: number; to: number } | undefined;
+ const footnotes: Node[] = [];
+ tr.doc.descendants((node, pos) => {
+ if (node.type.name == "footnote") {
+ footnotes.push(node);
+ } else if (node.type.name == "footnotes") {
+ footnotesRange = { from: pos, to: pos + node.nodeSize };
+ } else {
+ return false;
+ }
+ });
+ return { footnotesRange, footnotes };
+}
+
+// update the "footnotes" ordered list based on the footnote references in the document
+export function updateFootnotesList(tr: Transaction, state: EditorState) {
+ const footnoteReferences = updateFootnoteReferences(tr);
+
+ const footnoteType = state.schema.nodes.footnote;
+ const footnotesType = state.schema.nodes.footnotes;
+
+ const emptyParagraph = state.schema.nodeFromJSON({
+ type: "paragraph",
+ content: [],
+ });
+
+ const { footnotesRange, footnotes } = getFootnotes(tr);
+
+ // a mapping of footnote id -> footnote node
+ const footnoteIds: { [key: string]: Node } = footnotes.reduce(
+ (obj, footnote) => {
+ obj[footnote.attrs["data-id"]] = footnote;
+ return obj;
+ },
+ {} as any,
+ );
+
+ const newFootnotes: Node[] = [];
+
+ let footnoteRefIds = new Set(
+ footnoteReferences.map((ref) => ref.attrs["data-id"]),
+ );
+ const deleteFootnoteIds: Set = new Set();
+ for (let footnote of footnotes) {
+ const id = footnote.attrs["data-id"];
+ if (!footnoteRefIds.has(id) || deleteFootnoteIds.has(id)) {
+ deleteFootnoteIds.add(id);
+ // we traverse through this footnote's content because it may contain footnote references.
+ // we want to delete the footnotes associated with these references, so we add them to the delete set.
+ footnote.content.descendants((node) => {
+ if (node.type.name == "footnoteReference")
+ deleteFootnoteIds.add(node.attrs["data-id"]);
+ });
+ }
+ }
+
+ for (let i = 0; i < footnoteReferences.length; i++) {
+ let refId = footnoteReferences[i].attrs["data-id"];
+
+ if (deleteFootnoteIds.has(refId)) continue;
+ // if there is a footnote w/ the same id as this `ref`, we preserve its content and update its id attribute
+ if (refId in footnoteIds) {
+ let footnote = footnoteIds[refId];
+ newFootnotes.push(
+ footnoteType.create(
+ { ...footnote.attrs, id: `fn:${i + 1}` },
+ footnote.content,
+ ),
+ );
+ } else {
+ let newNode = footnoteType.create(
+ {
+ "data-id": refId,
+ id: `fn:${i + 1}`,
+ },
+ [emptyParagraph],
+ );
+ newFootnotes.push(newNode);
+ }
+ }
+
+ if (newFootnotes.length == 0) {
+ // no footnotes in the doc, delete the "footnotes" node
+ if (footnotesRange) {
+ tr.delete(footnotesRange.from, footnotesRange.to);
+ }
+ } else if (!footnotesRange) {
+ // there is no footnotes node present in the doc, add it
+ tr.insert(
+ tr.doc.content.size,
+ footnotesType.create(undefined, Fragment.from(newFootnotes)),
+ );
+ } else {
+ tr.replaceWith(
+ footnotesRange!.from + 1, // add 1 to point at the position after the opening ol tag
+ footnotesRange!.to - 1, // substract 1 to point to the position before the closing ol tag
+ Fragment.from(newFootnotes),
+ );
+ }
+}
diff --git a/packages/editor-ext/src/lib/markdown/utils/footnotes.marked.ts b/packages/editor-ext/src/lib/markdown/utils/footnotes.marked.ts
new file mode 100644
index 000000000..11c732d57
--- /dev/null
+++ b/packages/editor-ext/src/lib/markdown/utils/footnotes.marked.ts
@@ -0,0 +1,110 @@
+import { Token, marked } from 'marked';
+import { generateNodeId } from '../../utils';
+
+interface FootnoteRefToken {
+ type: 'footnoteRef';
+ label: string;
+ raw: string;
+}
+
+interface FootnoteDefToken {
+ type: 'footnoteDef';
+ label: string;
+ text: string;
+ raw: string;
+}
+
+// Parse-scoped state: markdownToHtml resets before the top-level parse and
+// appends the collected list after it. Nested marked.parse calls (callout,
+// footnote definitions) share this state, so hooks cannot be used here.
+let footnoteRefs: { label: string; id: string; number: number }[] = [];
+let footnoteDefs = new Map();
+
+export function resetFootnotes() {
+ footnoteRefs = [];
+ footnoteDefs = new Map();
+}
+
+export function renderFootnotesList(): string {
+ if (!footnoteRefs.length) return '';
+ const items = footnoteRefs.map(({ label, id, number }) => {
+ const body = footnoteDefs.get(label) || '';
+ return `${body}`;
+ });
+ return `\n`;
+}
+
+export const footnoteRefExtension = {
+ name: 'footnoteRef',
+ level: 'inline',
+ start(src: string) {
+ return src.indexOf('[^');
+ },
+ tokenizer(src: string): FootnoteRefToken | undefined {
+ const match = /^\[\^([^\]\s]+)\]/.exec(src);
+ if (match) {
+ return {
+ type: 'footnoteRef',
+ raw: match[0],
+ label: match[1].toLowerCase(),
+ };
+ }
+ },
+ renderer(token: Token) {
+ const refToken = token as FootnoteRefToken;
+ const number = footnoteRefs.length + 1;
+ const id = generateNodeId();
+ footnoteRefs.push({ label: refToken.label, id, number });
+ return ``;
+ },
+};
+
+export const footnoteDefExtension = {
+ name: 'footnoteDef',
+ level: 'block',
+ start(src: string) {
+ return src.match(/^\[\^[^\]\s]+\]:/m)?.index ?? -1;
+ },
+ tokenizer(src: string): FootnoteDefToken | undefined {
+ const firstLine = /^\[\^([^\]\s]+)\]:[ \t]*/.exec(src);
+ if (!firstLine) return undefined;
+
+ const lines = src.split('\n');
+ const contentLines = [lines[0].slice(firstLine[0].length)];
+ let consumed = 1;
+ while (consumed < lines.length) {
+ const line = lines[consumed];
+ if (/^[ \t]{2,}\S/.test(line)) {
+ contentLines.push(line.replace(/^[ \t]{1,4}/, ''));
+ consumed += 1;
+ } else if (
+ /^[ \t]*$/.test(line) &&
+ consumed + 1 < lines.length &&
+ /^[ \t]{2,}\S/.test(lines[consumed + 1])
+ ) {
+ contentLines.push('');
+ consumed += 1;
+ } else {
+ break;
+ }
+ }
+
+ const raw =
+ lines.slice(0, consumed).join('\n') +
+ (consumed < lines.length ? '\n' : '');
+ return {
+ type: 'footnoteDef',
+ raw,
+ label: firstLine[1].toLowerCase(),
+ text: contentLines.join('\n').trim(),
+ };
+ },
+ renderer(token: Token) {
+ const defToken = token as FootnoteDefToken;
+ const body = defToken.text
+ ? marked.parse(defToken.text).toString()
+ : '';
+ footnoteDefs.set(defToken.label, body);
+ return '';
+ },
+};
diff --git a/packages/editor-ext/src/lib/markdown/utils/marked.utils.ts b/packages/editor-ext/src/lib/markdown/utils/marked.utils.ts
index 7556aa4f0..0377ab7f7 100644
--- a/packages/editor-ext/src/lib/markdown/utils/marked.utils.ts
+++ b/packages/editor-ext/src/lib/markdown/utils/marked.utils.ts
@@ -2,6 +2,12 @@ import { marked } from "marked";
import { calloutExtension } from "./callout.marked";
import { mathBlockExtension } from "./math-block.marked";
import { mathInlineExtension } from "./math-inline.marked";
+import {
+ footnoteDefExtension,
+ footnoteRefExtension,
+ renderFootnotesList,
+ resetFootnotes,
+} from "./footnotes.marked";
marked.use({
renderer: {
@@ -34,7 +40,13 @@ marked.use({
});
marked.use({
- extensions: [calloutExtension, mathBlockExtension, mathInlineExtension],
+ extensions: [
+ calloutExtension,
+ mathBlockExtension,
+ mathInlineExtension,
+ footnoteDefExtension,
+ footnoteRefExtension,
+ ],
});
marked.setOptions({ breaks: true });
@@ -48,5 +60,7 @@ export function markdownToHtml(
.replace(YAML_FONT_MATTER_REGEX, "")
.trimStart();
- return marked.parse(markdown).toString();
+ resetFootnotes();
+ const html = marked.parse(markdown).toString();
+ return html + renderFootnotesList();
}
diff --git a/packages/editor-ext/src/lib/markdown/utils/turndown.utils.ts b/packages/editor-ext/src/lib/markdown/utils/turndown.utils.ts
index ebfc3423e..55f4afd37 100644
--- a/packages/editor-ext/src/lib/markdown/utils/turndown.utils.ts
+++ b/packages/editor-ext/src/lib/markdown/utils/turndown.utils.ts
@@ -34,6 +34,8 @@ export function htmlToMarkdown(html: string): string {
iframeEmbed,
image,
video,
+ footnoteRef,
+ footnotesList,
]);
return turndownService.turndown(html).replaceAll('
', ' ');
}
@@ -203,6 +205,56 @@ function image(turndownService: _TurndownService) {
});
}
+function getFootnoteAnchor(node: HTMLElement): HTMLElement | null {
+ const child = node.firstElementChild as HTMLElement | null;
+ return child?.nodeName === 'A' && child.classList.contains('footnote-ref')
+ ? child
+ : null;
+}
+
+function footnoteRef(turndownService: _TurndownService) {
+ turndownService.addRule('footnoteRef', {
+ filter: function (node: HTMLInputElement) {
+ return node.nodeName === 'SUP' && !!getFootnoteAnchor(node);
+ },
+ replacement: function (_content: string, node: HTMLInputElement) {
+ const anchor = getFootnoteAnchor(node);
+ const number =
+ anchor.getAttribute('data-reference-number') || anchor.textContent;
+ return `[^${number}]`;
+ },
+ });
+}
+
+function footnotesList(turndownService: _TurndownService) {
+ turndownService.addRule('footnotesList', {
+ filter: function (node: HTMLInputElement) {
+ return node.nodeName === 'OL' && node.classList.contains('footnotes');
+ },
+ replacement: function (_content: string, node: HTMLInputElement) {
+ const items = Array.from(node.children).filter(
+ (child) => child.nodeName === 'LI',
+ );
+ const definitions = items.map((li, index) => {
+ const number =
+ (li.getAttribute('id') || '').replace('fn:', '') ||
+ String(index + 1);
+ const markdown = turndownService
+ .turndown((li as HTMLElement).innerHTML)
+ .trim();
+ // continuation lines need a 4-space indent to stay in the footnote
+ const [first, ...rest] = markdown.split('\n');
+ const body = [
+ first,
+ ...rest.map((line: string) => (line.trim() ? ` ${line}` : line)),
+ ].join('\n');
+ return `[^${number}]: ${body}`;
+ });
+ return `\n\n${definitions.join('\n')}\n\n`;
+ },
+ });
+}
+
function video(turndownService: _TurndownService) {
turndownService.addRule('video', {
filter: function (node: HTMLInputElement) {
diff --git a/packages/editor-ext/src/lib/prosemirror-docx/schema.ts b/packages/editor-ext/src/lib/prosemirror-docx/schema.ts
index 1a2797213..235d796bb 100644
--- a/packages/editor-ext/src/lib/prosemirror-docx/schema.ts
+++ b/packages/editor-ext/src/lib/prosemirror-docx/schema.ts
@@ -1,4 +1,4 @@
-import { HeadingLevel, ShadingType } from 'docx';
+import { FootnoteReferenceRun, HeadingLevel, Paragraph, ShadingType } from 'docx';
import { Node } from 'prosemirror-model';
import {
DocxSerializerAsync,
@@ -168,9 +168,31 @@ export const defaultAsyncNodes: NodeSerializerAsync = {
pageBreak(state, node) {
state.closeBlock(node, { pageBreakBefore: true });
},
+ footnoteReference(state, node) {
+ const number =
+ Number(node.attrs?.referenceNumber) || state.$footnoteCounter + 1;
+ state.$footnoteCounter = Math.max(state.$footnoteCounter, number);
+ // seed an empty body so the reference stays valid even if the trailing
+ // footnotes list is missing; the footnotes node overwrites it with content
+ if (!state.footnotes[number]) {
+ state.footnotes[number] = { children: [new Paragraph('')] };
+ }
+ state.current.push(new FootnoteReferenceRun(number));
+ },
+ async footnotes(state, node) {
+ for (let i = 0; i < node.childCount; i += 1) {
+ const item = node.child(i);
+ const number =
+ Number(String(item.attrs?.id ?? '').replace('fn:', '')) || i + 1;
+ await state.footnoteDefinition(item, number);
+ }
+ },
+ // items are consumed by the footnotes handler above
+ footnote() {},
// No usable static export representation: skip without failing.
subpages() {},
transclusionReference() {},
+ base() {},
};
export const defaultMarks: MarkSerializer = {
diff --git a/packages/editor-ext/src/lib/prosemirror-docx/serializer.ts b/packages/editor-ext/src/lib/prosemirror-docx/serializer.ts
index fa62a8cf6..b349ece3e 100644
--- a/packages/editor-ext/src/lib/prosemirror-docx/serializer.ts
+++ b/packages/editor-ext/src/lib/prosemirror-docx/serializer.ts
@@ -824,6 +824,29 @@ export class DocxSerializerStateAsync {
this.current.push(new FootnoteReferenceRun(this.$footnoteCounter));
}
+ // Fills the footnote body for an already-referenced footnote number from a
+ // node holding block content (Docmost keeps footnote text in a trailing
+ // list, separate from the inline reference).
+ async footnoteDefinition(node: Node, number: number) {
+ const { current, children, nextRunOpts, nextParentParagraphOpts } = this;
+ this.current = [];
+ this.children = [];
+ delete this.nextRunOpts;
+ delete this.nextParentParagraphOpts;
+
+ await this.renderContent(node);
+ this.footnotes[number] = {
+ children: this.children.filter(
+ (child): child is Paragraph => child instanceof Paragraph,
+ ),
+ };
+
+ this.current = current;
+ this.children = children;
+ this.nextRunOpts = nextRunOpts;
+ this.nextParentParagraphOpts = nextParentParagraphOpts;
+ }
+
closeBlock(node: Node, props?: IParagraphOptions) {
const paragraph = new Paragraph({
children: this.current,
diff --git a/packages/editor-ext/src/lib/trailing-node.ts b/packages/editor-ext/src/lib/trailing-node.ts
index a4d77b3df..6b3d0f584 100644
--- a/packages/editor-ext/src/lib/trailing-node.ts
+++ b/packages/editor-ext/src/lib/trailing-node.ts
@@ -7,9 +7,19 @@ export interface TrailingNodeExtensionOptions {
}
function nodeEqualsType({ types, node }: { types: any, node: any }) {
+ if (!node) return false
return (Array.isArray(types) && types.includes(node.type)) || node.type === types
}
+// footnotes must stay the last doc child, so the trailing node goes before it
+function lastNodeBeforeFootnotes(doc: any) {
+ const lastChild = doc.lastChild
+ if (lastChild?.type.name === 'footnotes') {
+ return doc.childCount > 1 ? doc.child(doc.childCount - 2) : null
+ }
+ return lastChild
+}
+
// @ts-ignore
/**
* Extension based on:
@@ -40,19 +50,23 @@ export const TrailingNode = Extension.create({
appendTransaction: (_, __, state) => {
const { doc, tr, schema } = state;
const shouldInsertNodeAtEnd = plugin.getState(state);
- const endPosition = doc.content.size;
const type = schema.nodes[this.options.node]
if (!shouldInsertNodeAtEnd) {
return;
}
+ const lastChild = doc.lastChild
+ const endPosition = lastChild?.type.name === 'footnotes'
+ ? doc.content.size - lastChild.nodeSize
+ : doc.content.size
+
return tr.insert(endPosition, type.create());
},
state: {
init: (_, state) => {
try {
- const lastNode = state.tr.doc.lastChild
+ const lastNode = lastNodeBeforeFootnotes(state.tr.doc)
return !nodeEqualsType({ node: lastNode, types: disabledNodes })
} catch (err){
console.log(err)
@@ -70,7 +84,7 @@ export const TrailingNode = Extension.create({
return value
}
- const lastNode = tr.doc.lastChild
+ const lastNode = lastNodeBeforeFootnotes(tr.doc)
return !nodeEqualsType({ node: lastNode, types: disabledNodes })
},
},
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 2dc8a6da0..a4dffce5b 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -6,54 +6,28 @@ settings:
overrides:
prosemirror-changeset: 2.4.0
- y-prosemirror: 1.3.7
glob: 13.0.6
- ws: 8.21.0
- dompurify: 3.4.11
+ ws: 8.21.3
+ dompurify: 3.4.13
+ mermaid: 11.16.1
+ undici: 7.29.0
tmp: 0.2.7
- hono: 4.12.25
- mermaid: 11.15.0
- nanoid@^3: 3.3.8
- socket.io-parser: 4.2.6
- serialize-javascript: 7.0.3
+ nanoid@^3: 3.3.18
lodash-es: 4.18.1
- lodash: 4.18.1
- '@hono/node-server': 1.19.13
- undici: 7.28.0
- ajv@^6: 6.14.0
- ajv@^8: 8.18.0
- underscore: 1.13.8
- immutable: 4.3.8
express-rate-limit: 8.2.2
- minimatch@^3: 3.1.5
- minimatch@^5: 5.1.8
flatted: 3.4.2
- picomatch@<2.3.2: 2.3.2
- picomatch@>=4.0.0 <4.0.4: 4.0.4
- fastify: 5.8.5
- yaml@>=1.0.0 <1.10.3: 1.10.3
+ find-my-way: 9.7.0
yaml@>=2.0.0 <2.8.3: 2.8.3
- path-to-regexp@^8: 8.4.0
- brace-expansion@^5: 5.0.6
- '@xmldom/xmldom': 0.8.13
- handlebars: 4.7.9
+ brace-expansion@^5: 5.0.9
axios: 1.18.1
- langsmith: 0.7.0
- follow-redirects: 1.16.0
- protobufjs: 7.5.8
- ip-address: 10.1.1
- fast-uri: 3.1.3
+ ip-address: 10.3.1
+ fast-uri: 3.1.5
form-data@>=4.0.0 <4.0.6: 4.0.6
- nanoid@>=4.0.0 <5.0.9: 5.1.16
- qs: 6.15.3
+ nanoid@>=4.0.0 <5.1.16: 5.1.16
esbuild@>=0.27.3 <0.28.1: 0.28.1
- '@babel/core@<=7.29.0': 7.29.7
'@opentelemetry/core@>=2.0.0 <2.8.0': 2.9.0
- '@babel/plugin-transform-modules-systemjs@<=7.29.3': 7.29.7
- brace-expansion@<1.1.13: 1.1.15
- brace-expansion@>=2.0.0 <2.0.3: 2.0.3
- js-yaml@>=3.0.0 <3.15.0: 3.15.0
- js-yaml@>=4.0.0 <=4.1.1: 4.3.0
+ js-yaml@>=3.0.0 <3.15.1: 3.15.1
+ js-yaml@>=4.0.0 <4.3.1: 4.3.1
patchedDependencies:
scimmy@1.3.5: 775d80f86830b2c5dd1a250c9802c10f8fc3da3c7898373de5aa0c23993d1673
@@ -75,23 +49,23 @@ importers:
specifier: 1.7.3
version: 1.7.3
'@hocuspocus/common':
- specifier: 4.4.0
- version: 4.4.0
+ specifier: 4.5.0
+ version: 4.5.0
'@hocuspocus/provider':
- specifier: 4.4.0
- version: 4.4.0(y-protocols@1.0.6(yjs@13.6.30))(yjs@13.6.30)
+ specifier: 4.5.0
+ version: 4.5.0(y-protocols@1.0.6(yjs@13.6.30))(yjs@13.6.30)
'@hocuspocus/provider-react':
- specifier: 4.4.0
- version: 4.4.0(@hocuspocus/provider@4.4.0(y-protocols@1.0.6(yjs@13.6.30))(yjs@13.6.30))(react@19.2.7)(yjs@13.6.30)
+ specifier: 4.5.0
+ version: 4.5.0(@hocuspocus/provider@4.5.0(y-protocols@1.0.6(yjs@13.6.30))(yjs@13.6.30))(react@19.2.7)(yjs@13.6.30)
'@hocuspocus/server':
- specifier: 4.4.0
- version: 4.4.0(y-protocols@1.0.6(yjs@13.6.30))(yjs@13.6.30)
+ specifier: 4.5.0
+ version: 4.5.0(y-protocols@1.0.6(yjs@13.6.30))(yjs@13.6.30)
'@hocuspocus/transformer':
- specifier: 4.4.0
- version: 4.4.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0)(y-prosemirror@1.3.7(prosemirror-model@1.25.9)(prosemirror-state@1.4.4)(prosemirror-view@1.41.9)(y-protocols@1.0.6(yjs@13.6.30))(yjs@13.6.30))(yjs@13.6.30)
+ specifier: 4.5.0
+ version: 4.5.0(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2)(y-prosemirror@1.3.7(prosemirror-model@1.25.11)(prosemirror-state@1.4.4)(prosemirror-view@1.41.9)(y-protocols@1.0.6(yjs@13.6.30))(yjs@13.6.30))(yjs@13.6.30)
'@joplin/turndown':
specifier: 4.0.82
- version: 4.0.82
+ version: 4.0.82(supports-color@7.2.0)
'@joplin/turndown-plugin-gfm':
specifier: 1.0.64
version: 1.0.64
@@ -99,92 +73,92 @@ importers:
specifier: 3.0.0
version: 3.0.0
'@tiptap/core':
- specifier: 3.28.0
- version: 3.28.0(@tiptap/pm@3.28.0)
+ specifier: 3.29.2
+ version: 3.29.2(@tiptap/pm@3.29.2)
'@tiptap/extension-audio':
- specifier: 3.28.0
- version: 3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))
+ specifier: 3.29.2
+ version: 3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))
'@tiptap/extension-code-block':
- specifier: 3.28.0
- version: 3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0)
+ specifier: 3.29.2
+ version: 3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2)
'@tiptap/extension-collaboration':
- specifier: 3.28.0
- version: 3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0)(@tiptap/y-tiptap@3.0.7(prosemirror-model@1.25.9)(prosemirror-state@1.4.4)(prosemirror-view@1.41.9)(y-protocols@1.0.6(yjs@13.6.30))(yjs@13.6.30))(yjs@13.6.30)
+ specifier: 3.29.2
+ version: 3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2)(@tiptap/y-tiptap@3.0.7(prosemirror-model@1.25.11)(prosemirror-state@1.4.4)(prosemirror-view@1.41.9)(y-protocols@1.0.6(yjs@13.6.30))(yjs@13.6.30))(yjs@13.6.30)
'@tiptap/extension-collaboration-caret':
- specifier: 3.28.0
- version: 3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0)(@tiptap/y-tiptap@3.0.7(prosemirror-model@1.25.9)(prosemirror-state@1.4.4)(prosemirror-view@1.41.9)(y-protocols@1.0.6(yjs@13.6.30))(yjs@13.6.30))
+ specifier: 3.29.2
+ version: 3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2)(@tiptap/y-tiptap@3.0.7(prosemirror-model@1.25.11)(prosemirror-state@1.4.4)(prosemirror-view@1.41.9)(y-protocols@1.0.6(yjs@13.6.30))(yjs@13.6.30))
'@tiptap/extension-color':
- specifier: 3.28.0
- version: 3.28.0(@tiptap/extension-text-style@3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0)))
+ specifier: 3.29.2
+ version: 3.29.2(@tiptap/extension-text-style@3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2)))
'@tiptap/extension-document':
- specifier: 3.28.0
- version: 3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))
+ specifier: 3.29.2
+ version: 3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))
'@tiptap/extension-heading':
- specifier: 3.28.0
- version: 3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))
+ specifier: 3.29.2
+ version: 3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))
'@tiptap/extension-highlight':
- specifier: 3.28.0
- version: 3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))
+ specifier: 3.29.2
+ version: 3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))
'@tiptap/extension-history':
- specifier: 3.28.0
- version: 3.28.0(@tiptap/extensions@3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0))
+ specifier: 3.29.2
+ version: 3.29.2(@tiptap/extensions@3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2))
'@tiptap/extension-image':
- specifier: 3.28.0
- version: 3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))
+ specifier: 3.29.2
+ version: 3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))
'@tiptap/extension-link':
- specifier: 3.28.0
- version: 3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0)
+ specifier: 3.29.2
+ version: 3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2)
'@tiptap/extension-list':
- specifier: 3.28.0
- version: 3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0)
+ specifier: 3.29.2
+ version: 3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2)
'@tiptap/extension-placeholder':
- specifier: 3.28.0
- version: 3.28.0(@tiptap/extensions@3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0))
+ specifier: 3.29.2
+ version: 3.29.2(@tiptap/extensions@3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2))
'@tiptap/extension-subscript':
- specifier: 3.28.0
- version: 3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0)
+ specifier: 3.29.2
+ version: 3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2)
'@tiptap/extension-superscript':
- specifier: 3.28.0
- version: 3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0)
+ specifier: 3.29.2
+ version: 3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2)
'@tiptap/extension-table':
- specifier: 3.28.0
- version: 3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0)
+ specifier: 3.29.2
+ version: 3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2)
'@tiptap/extension-text':
- specifier: 3.28.0
- version: 3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))
+ specifier: 3.29.2
+ version: 3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))
'@tiptap/extension-text-align':
- specifier: 3.28.0
- version: 3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))
+ specifier: 3.29.2
+ version: 3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))
'@tiptap/extension-text-style':
- specifier: 3.28.0
- version: 3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))
+ specifier: 3.29.2
+ version: 3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))
'@tiptap/extension-typography':
- specifier: 3.28.0
- version: 3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))
+ specifier: 3.29.2
+ version: 3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))
'@tiptap/extension-unique-id':
- specifier: 3.28.0
- version: 3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0)
+ specifier: 3.29.2
+ version: 3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2)
'@tiptap/extension-youtube':
- specifier: 3.28.0
- version: 3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))
+ specifier: 3.29.2
+ version: 3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))
'@tiptap/html':
- specifier: 3.28.0
- version: 3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0)(happy-dom@20.8.9)
+ specifier: 3.29.2
+ version: 3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2)(happy-dom@20.8.9)
'@tiptap/pm':
- specifier: 3.28.0
- version: 3.28.0
+ specifier: 3.29.2
+ version: 3.29.2
'@tiptap/react':
- specifier: 3.28.0
- version: 3.28.0(@floating-ui/dom@1.7.3)(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ specifier: 3.29.2
+ version: 3.29.2(@floating-ui/dom@1.7.3)(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@tiptap/starter-kit':
- specifier: 3.28.0
- version: 3.28.0
+ specifier: 3.29.2
+ version: 3.29.2
'@tiptap/suggestion':
- specifier: 3.28.0
- version: 3.28.0(@floating-ui/dom@1.7.3)(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0)
+ specifier: 3.29.2
+ version: 3.29.2(@floating-ui/dom@1.7.3)(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2)
'@tiptap/y-tiptap':
specifier: 3.0.7
- version: 3.0.7(prosemirror-model@1.25.9)(prosemirror-state@1.4.4)(prosemirror-view@1.41.9)(y-protocols@1.0.6(yjs@13.6.30))(yjs@13.6.30)
+ version: 3.0.7(prosemirror-model@1.25.11)(prosemirror-state@1.4.4)(prosemirror-view@1.41.9)(y-protocols@1.0.6(yjs@13.6.30))(yjs@13.6.30)
bytes:
specifier: 3.1.2
version: 3.1.2
@@ -201,8 +175,8 @@ importers:
specifier: 9.7.1
version: 9.7.1
dompurify:
- specifier: 3.4.11
- version: 3.4.11
+ specifier: 3.4.13
+ version: 3.4.13
fractional-indexing-jittered:
specifier: 1.0.0
version: 1.0.0
@@ -238,14 +212,14 @@ importers:
version: 9.0.12(yjs@13.6.30)
y-prosemirror:
specifier: 1.3.7
- version: 1.3.7(prosemirror-model@1.25.9)(prosemirror-state@1.4.4)(prosemirror-view@1.41.9)(y-protocols@1.0.6(yjs@13.6.30))(yjs@13.6.30)
+ version: 1.3.7(prosemirror-model@1.25.11)(prosemirror-state@1.4.4)(prosemirror-view@1.41.9)(y-protocols@1.0.6(yjs@13.6.30))(yjs@13.6.30)
yjs:
specifier: ^13.6.30
version: 13.6.30
devDependencies:
'@nx/js':
- specifier: 22.6.1
- version: 22.6.1(@babel/traverse@7.28.5)(nx@22.6.1)
+ specifier: 23.1.1
+ version: 23.1.1(@babel/traverse@7.29.7(supports-color@7.2.0))(nx@23.1.1)(supports-color@7.2.0)
'@types/bytes':
specifier: 3.1.5
version: 3.1.5
@@ -256,11 +230,11 @@ importers:
specifier: 5.0.6
version: 5.0.6
concurrently:
- specifier: 9.2.3
- version: 9.2.3
+ specifier: 10.0.4
+ version: 10.0.4
nx:
- specifier: 22.6.1
- version: 22.6.1
+ specifier: 23.1.1
+ version: 23.1.1
tsx:
specifier: ^4.21.0
version: 4.21.0
@@ -275,7 +249,7 @@ importers:
version: 2.1.5
'@atlaskit/pragmatic-drag-and-drop-flourish':
specifier: 2.0.15
- version: 2.0.15(react@19.2.7)
+ version: 2.0.15(react@19.2.7)(supports-color@10.2.2)
'@atlaskit/pragmatic-drag-and-drop-hitbox':
specifier: 1.1.0
version: 1.1.0
@@ -299,7 +273,7 @@ importers:
version: 9.3.2(@mantine/hooks@9.3.2(react@19.2.7))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@mantine/dates':
specifier: 9.3.2
- version: 9.3.2(@mantine/core@9.3.2(@mantine/hooks@9.3.2(react@19.2.7))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@mantine/hooks@9.3.2(react@19.2.7))(dayjs@1.11.19)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ version: 9.3.2(@mantine/core@9.3.2(@mantine/hooks@9.3.2(react@19.2.7))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@mantine/hooks@9.3.2(react@19.2.7))(dayjs@1.11.21)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@mantine/form':
specifier: 9.3.2
version: 9.3.2(react@19.2.7)
@@ -341,7 +315,7 @@ importers:
version: 1.1.0
axios:
specifier: 1.18.1
- version: 1.18.1
+ version: 1.18.1(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2)
blueimp-load-image:
specifier: 5.16.0
version: 5.16.0
@@ -362,10 +336,10 @@ importers:
version: 3.0.6
jotai:
specifier: 2.20.1
- version: 2.20.1(@babel/core@7.29.7)(@babel/template@7.27.2)(@types/react@19.2.17)(react@19.2.7)
+ version: 2.20.1(@babel/core@7.29.7(supports-color@10.2.2))(@babel/template@7.29.7)(@types/react@19.2.17)(react@19.2.7)
jotai-optics:
specifier: 0.4.0
- version: 0.4.0(jotai@2.20.1(@babel/core@7.29.7)(@babel/template@7.27.2)(@types/react@19.2.17)(react@19.2.7))(optics-ts@2.4.1)
+ version: 0.4.0(jotai@2.20.1(@babel/core@7.29.7(supports-color@10.2.2))(@babel/template@7.29.7)(@types/react@19.2.17)(react@19.2.7))(optics-ts@2.4.1)
js-cookie:
specifier: 3.0.7
version: 3.0.7
@@ -382,14 +356,14 @@ importers:
specifier: 1.3.0
version: 1.3.0(@mantine/form@9.3.2(react@19.2.7))(zod@4.3.6)
mermaid:
- specifier: 11.15.0
- version: 11.15.0
+ specifier: 11.16.1
+ version: 11.16.1
mitt:
specifier: 3.0.1
version: 3.0.1
nanoid:
- specifier: 3.3.8
- version: 3.3.8
+ specifier: 3.3.18
+ version: 3.3.18
posthog-js:
specifier: 1.391.2
version: 1.391.2
@@ -415,14 +389,14 @@ importers:
specifier: 16.5.8
version: 16.5.8(i18next@25.10.1(typescript@5.9.3))(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(typescript@5.9.3)
react-router-dom:
- specifier: 7.18.0
- version: 7.18.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ specifier: 7.18.2
+ version: 7.18.2(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
semver:
specifier: 7.7.4
version: 7.7.4
socket.io-client:
specifier: 4.8.3
- version: 4.8.3
+ version: 4.8.3(supports-color@10.2.2)
zod:
specifier: 4.3.6
version: 4.3.6
@@ -432,7 +406,7 @@ importers:
version: 9.28.0
'@tanstack/eslint-plugin-query':
specifier: 5.94.4
- version: 5.94.4(eslint@9.28.0(jiti@2.4.2))(typescript@5.9.3)
+ version: 5.94.4(eslint@9.28.0(jiti@2.4.2)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@5.9.3)
'@testing-library/jest-dom':
specifier: 6.6.0
version: 6.6.0
@@ -462,37 +436,37 @@ importers:
version: 19.2.3(@types/react@19.2.17)
'@vitejs/plugin-react':
specifier: 6.0.1
- version: 6.0.1(vite@8.0.16(@types/node@22.19.1)(esbuild@0.28.1)(jiti@2.4.2)(less@4.2.0)(sugarss@5.0.1(postcss@8.5.14))(terser@5.39.0)(tsx@4.21.0)(yaml@2.8.3))
+ version: 6.0.1(vite@8.0.16(@types/node@22.19.1)(esbuild@0.28.1)(jiti@2.4.2)(sugarss@5.0.1(postcss@8.5.25))(terser@5.39.0)(tsx@4.21.0)(yaml@2.8.3))
eslint:
specifier: 9.28.0
- version: 9.28.0(jiti@2.4.2)
+ version: 9.28.0(jiti@2.4.2)(supports-color@10.2.2)
eslint-plugin-react:
specifier: 7.37.5
- version: 7.37.5(eslint@9.28.0(jiti@2.4.2))
+ version: 7.37.5(eslint@9.28.0(jiti@2.4.2)(supports-color@10.2.2))
eslint-plugin-react-hooks:
specifier: 7.0.1
- version: 7.0.1(eslint@9.28.0(jiti@2.4.2))
+ version: 7.0.1(eslint@9.28.0(jiti@2.4.2)(supports-color@10.2.2))(supports-color@10.2.2)
eslint-plugin-react-refresh:
specifier: 0.5.2
- version: 0.5.2(eslint@9.28.0(jiti@2.4.2))
+ version: 0.5.2(eslint@9.28.0(jiti@2.4.2)(supports-color@10.2.2))
globals:
specifier: 15.13.0
version: 15.13.0
jsdom:
specifier: 25.0.0
- version: 25.0.0
+ version: 25.0.0(supports-color@10.2.2)
optics-ts:
specifier: 2.4.1
version: 2.4.1
postcss:
- specifier: 8.5.14
- version: 8.5.14
+ specifier: 8.5.25
+ version: 8.5.25
postcss-preset-mantine:
specifier: 1.18.0
- version: 1.18.0(postcss@8.5.14)
+ version: 1.18.0(postcss@8.5.25)
postcss-simple-vars:
specifier: 7.0.1
- version: 7.0.1(postcss@8.5.14)
+ version: 7.0.1(postcss@8.5.25)
prettier:
specifier: 3.8.1
version: 3.8.1
@@ -501,13 +475,13 @@ importers:
version: 5.9.3
typescript-eslint:
specifier: 8.57.1
- version: 8.57.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.9.3)
+ version: 8.57.1(eslint@9.28.0(jiti@2.4.2)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@5.9.3)
vite:
specifier: 8.0.16
- version: 8.0.16(@types/node@22.19.1)(esbuild@0.28.1)(jiti@2.4.2)(less@4.2.0)(sugarss@5.0.1(postcss@8.5.14))(terser@5.39.0)(tsx@4.21.0)(yaml@2.8.3)
+ version: 8.0.16(@types/node@22.19.1)(esbuild@0.28.1)(jiti@2.4.2)(sugarss@5.0.1(postcss@8.5.25))(terser@5.39.0)(tsx@4.21.0)(yaml@2.8.3)
vitest:
specifier: 4.1.6
- version: 4.1.6(@opentelemetry/api@1.9.0)(@types/node@22.19.1)(happy-dom@20.8.9)(jsdom@25.0.0)(vite@8.0.16(@types/node@22.19.1)(esbuild@0.28.1)(jiti@2.4.2)(less@4.2.0)(sugarss@5.0.1(postcss@8.5.14))(terser@5.39.0)(tsx@4.21.0)(yaml@2.8.3))
+ version: 4.1.6(@opentelemetry/api@1.9.0)(@types/node@22.19.1)(happy-dom@20.8.9)(jsdom@25.0.0(supports-color@10.2.2))(vite@8.0.16(@types/node@22.19.1)(esbuild@0.28.1)(jiti@2.4.2)(sugarss@5.0.1(postcss@8.5.25))(terser@5.39.0)(tsx@4.21.0)(yaml@2.8.3))
apps/server:
dependencies:
@@ -531,7 +505,7 @@ importers:
version: 3.1050.0
'@azure/storage-blob':
specifier: 12.31.0
- version: 12.31.0
+ version: 12.31.0(supports-color@10.2.2)
'@clickhouse/client':
specifier: 1.18.2
version: 1.18.2
@@ -542,83 +516,86 @@ importers:
specifier: 1.9.6
version: 1.9.6
'@fastify/cookie':
- specifier: ^11.0.2
- version: 11.0.2
+ specifier: 11.1.2
+ version: 11.1.2
'@fastify/multipart':
- specifier: ^10.0.0
- version: 10.0.0
+ specifier: 10.1.1
+ version: 10.1.1
'@fastify/static':
- specifier: ^9.1.3
- version: 9.1.3
+ specifier: 10.1.3
+ version: 10.1.3
'@keyv/redis':
- specifier: ^5.1.6
+ specifier: 5.1.6
version: 5.1.6(keyv@5.6.0)
'@langchain/core':
specifier: 1.1.46
- version: 1.1.46(@opentelemetry/api@1.9.0)(@opentelemetry/sdk-trace-base@2.2.0(@opentelemetry/api@1.9.0))(openai@6.2.0(ws@8.21.0)(zod@4.3.6))(ws@8.21.0)
+ version: 1.1.46(@opentelemetry/api@1.9.0)(@opentelemetry/sdk-trace-base@2.2.0(@opentelemetry/api@1.9.0))(openai@6.2.0(ws@8.21.3)(zod@4.3.6))(ws@8.21.3)
'@langchain/textsplitters':
specifier: 1.0.1
- version: 1.0.1(@langchain/core@1.1.46(@opentelemetry/api@1.9.0)(@opentelemetry/sdk-trace-base@2.2.0(@opentelemetry/api@1.9.0))(openai@6.2.0(ws@8.21.0)(zod@4.3.6))(ws@8.21.0))
+ version: 1.0.1(@langchain/core@1.1.46(@opentelemetry/api@1.9.0)(@opentelemetry/sdk-trace-base@2.2.0(@opentelemetry/api@1.9.0))(openai@6.2.0(ws@8.21.3)(zod@4.3.6))(ws@8.21.3))
'@modelcontextprotocol/sdk':
- specifier: 1.29.0
- version: 1.29.0(@cfworker/json-schema@4.1.1)(zod@4.3.6)
+ specifier: 1.30.0
+ version: 1.30.0(@cfworker/json-schema@4.1.1)(supports-color@10.2.2)(zod@4.3.6)
'@nest-lab/throttler-storage-redis':
- specifier: ^1.2.0
- version: 1.2.0(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.27)(@nestjs/throttler@6.5.0(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.27)(reflect-metadata@0.2.2))(ioredis@5.10.1)(reflect-metadata@0.2.2)
+ specifier: 1.2.0
+ version: 1.2.0(@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2))(@nestjs/core@11.2.1)(@nestjs/throttler@6.5.0(@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2))(@nestjs/core@11.2.1)(reflect-metadata@0.2.2))(ioredis@5.10.1(supports-color@10.2.2))(reflect-metadata@0.2.2)
'@nestjs-labs/nestjs-ioredis':
specifier: 11.0.4
- version: 11.0.4(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.27)(ioredis@5.10.1)
+ version: 11.0.4(@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2))(@nestjs/core@11.2.1)(ioredis@5.10.1(supports-color@10.2.2))
'@nestjs/bullmq':
- specifier: 11.0.4
- version: 11.0.4(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.27)(bullmq@5.79.0)
+ specifier: 11.0.5
+ version: 11.0.5(@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2))(@nestjs/core@11.2.1)(bullmq@5.79.0(supports-color@10.2.2))
'@nestjs/cache-manager':
specifier: 3.1.3
- version: 3.1.3(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.27)(cache-manager@7.2.8)(keyv@5.6.0)(rxjs@7.8.2)
+ version: 3.1.3(@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2))(@nestjs/core@11.2.1)(cache-manager@7.2.8)(keyv@5.6.0)(rxjs@7.8.2)
'@nestjs/common':
- specifier: 11.1.27
- version: 11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)
+ specifier: 11.2.1
+ version: 11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2)
'@nestjs/config':
specifier: 4.0.4
- version: 4.0.4(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(rxjs@7.8.2)
+ version: 4.0.4(@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2))(rxjs@7.8.2)
'@nestjs/core':
- specifier: 11.1.27
- version: 11.1.27(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/websockets@11.1.27)(reflect-metadata@0.2.2)(rxjs@7.8.2)
+ specifier: 11.2.1
+ version: 11.2.1(@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2))(@nestjs/websockets@11.2.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)
'@nestjs/event-emitter':
specifier: 3.1.0
- version: 3.1.0(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.27)
+ version: 3.1.0(@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2))(@nestjs/core@11.2.1)
'@nestjs/jwt':
specifier: 11.0.2
- version: 11.0.2(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))
+ version: 11.0.2(@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2))
'@nestjs/mapped-types':
specifier: 2.1.1
- version: 2.1.1(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)
+ version: 2.1.1(@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2))(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)
'@nestjs/passport':
specifier: 11.0.5
- version: 11.0.5(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(passport@0.7.0)
+ version: 11.0.5(@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2))(passport@0.7.0)
'@nestjs/platform-fastify':
- specifier: 11.1.27
- version: 11.1.27(@fastify/static@9.1.3)(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.27)
+ specifier: 11.2.1
+ version: 11.2.1(@fastify/static@10.1.3)(@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2))(@nestjs/core@11.2.1)
'@nestjs/platform-socket.io':
- specifier: 11.1.27
- version: 11.1.27(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/websockets@11.1.27)(rxjs@7.8.2)
+ specifier: 11.2.1
+ version: 11.2.1(@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2))(@nestjs/websockets@11.2.1)(rxjs@7.8.2)(supports-color@10.2.2)
'@nestjs/schedule':
specifier: 6.1.3
- version: 6.1.3(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.27)
+ version: 6.1.3(@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2))(@nestjs/core@11.2.1)
'@nestjs/terminus':
specifier: 11.1.1
- version: 11.1.1(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.27)(reflect-metadata@0.2.2)(rxjs@7.8.2)
+ version: 11.1.1(@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2))(@nestjs/core@11.2.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)
'@nestjs/throttler':
specifier: 6.5.0
- version: 6.5.0(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.27)(reflect-metadata@0.2.2)
+ version: 6.5.0(@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2))(@nestjs/core@11.2.1)(reflect-metadata@0.2.2)
'@nestjs/websockets':
- specifier: 11.1.27
- version: 11.1.27(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.27)(@nestjs/platform-socket.io@11.1.27)(reflect-metadata@0.2.2)(rxjs@7.8.2)
+ specifier: 11.2.1
+ version: 11.2.1(@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2))(@nestjs/core@11.2.1)(@nestjs/platform-socket.io@11.2.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)
'@node-saml/passport-saml':
specifier: 5.1.0
- version: 5.1.0
+ version: 5.1.0(supports-color@10.2.2)
'@socket.io/redis-adapter':
specifier: 8.3.0
- version: 8.3.0(socket.io-adapter@2.5.4)
+ version: 8.3.0(socket.io-adapter@2.5.4(supports-color@10.2.2))(supports-color@10.2.2)
+ '@turbopuffer/turbopuffer':
+ specifier: ^2.8.0
+ version: 2.8.0
ai:
specifier: 6.0.134
version: 6.0.134(zod@4.3.6)
@@ -633,7 +610,7 @@ importers:
version: 2.14.1
bullmq:
specifier: 5.79.0
- version: 5.79.0
+ version: 5.79.0(supports-color@10.2.2)
cache-manager:
specifier: 7.2.8
version: 7.2.8
@@ -666,7 +643,7 @@ importers:
version: 20.8.9
ioredis:
specifier: 5.10.1
- version: 5.10.1
+ version: 5.10.1(supports-color@10.2.2)
js-tiktoken:
specifier: 1.0.21
version: 1.0.21
@@ -692,20 +669,20 @@ importers:
specifier: 3.0.2
version: 3.0.2
msgpackr:
- specifier: ^1.11.9
+ specifier: 1.11.9
version: 1.11.9
nanoid:
- specifier: 5.1.7
- version: 5.1.7
+ specifier: 5.1.16
+ version: 5.1.16
nestjs-cls:
specifier: 6.2.0
- version: 6.2.0(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.27)(reflect-metadata@0.2.2)(rxjs@7.8.2)
+ version: 6.2.0(@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2))(@nestjs/core@11.2.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)
nestjs-kysely:
specifier: 3.1.2
- version: 3.1.2(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.27)(kysely@0.28.17)(reflect-metadata@0.2.2)
+ version: 3.1.2(@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2))(@nestjs/core@11.2.1)(kysely@0.28.17)(reflect-metadata@0.2.2)
nestjs-pino:
specifier: 4.6.1
- version: 4.6.1(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(pino-http@11.0.0)(pino@10.1.0)(rxjs@7.8.2)
+ version: 4.6.1(@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2))(pino-http@11.0.0)(pino@10.1.0)(rxjs@7.8.2)
nodemailer:
specifier: 9.0.1
version: 9.0.1
@@ -728,7 +705,7 @@ importers:
specifier: 8.4.2
version: 8.4.2
pgvector:
- specifier: ^0.2.1
+ specifier: 0.2.1
version: 0.2.1
pino-http:
specifier: 11.0.0
@@ -741,13 +718,13 @@ importers:
version: 3.4.8
postmark:
specifier: 4.0.7
- version: 4.0.7
+ version: 4.0.7(debug@4.4.3(supports-color@7.2.0))(supports-color@10.2.2)
react:
specifier: 19.2.7
version: 19.2.7
react-email:
specifier: 6.6.3
- version: 6.6.3(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ version: 6.6.3(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(supports-color@10.2.2)
reflect-metadata:
specifier: 0.2.2
version: 0.2.2
@@ -762,7 +739,7 @@ importers:
version: 1.3.5(patch_hash=775d80f86830b2c5dd1a250c9802c10f8fc3da3c7898373de5aa0c23993d1673)
socket.io:
specifier: 4.8.3
- version: 4.8.3
+ version: 4.8.3(supports-color@10.2.2)
stripe:
specifier: ^17.7.0
version: 17.7.0
@@ -774,13 +751,13 @@ importers:
version: 3.0.3
typesense:
specifier: 3.0.5
- version: 3.0.5(@babel/runtime@7.29.2)
+ version: 3.0.5(@babel/runtime@7.29.2)(debug@4.4.3(supports-color@7.2.0))(supports-color@10.2.2)
undici:
- specifier: 7.28.0
- version: 7.28.0
+ specifier: 7.29.0
+ version: 7.29.0
ws:
- specifier: 8.21.0
- version: 8.21.0
+ specifier: 8.21.3
+ version: 8.21.3
yauzl:
specifier: 3.4.0
version: 3.4.0
@@ -790,16 +767,16 @@ importers:
devDependencies:
'@eslint/js':
specifier: ^9.28.0
- version: 9.39.4
+ version: 9.28.0
'@nestjs/cli':
specifier: ^11.0.21
- version: 11.0.21(@swc/core@1.5.25(@swc/helpers@0.5.5))(@types/node@25.5.0)
+ version: 11.0.21(@swc/core@1.5.25(@swc/helpers@0.5.5))(@types/node@25.5.0)(esbuild@0.28.1)(uglify-js@3.19.3)
'@nestjs/schematics':
specifier: ^11.0.10
version: 11.0.10(chokidar@4.0.3)(typescript@5.9.3)
'@nestjs/testing':
specifier: ^11.1.19
- version: 11.1.19(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.27)
+ version: 11.1.19(@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2))(@nestjs/core@11.2.1)
'@types/bcrypt':
specifier: ^6.0.0
version: 6.0.0
@@ -838,16 +815,16 @@ importers:
version: 2.10.3
eslint:
specifier: ^9.28.0
- version: 9.39.4(jiti@2.4.2)
+ version: 9.28.0(jiti@2.4.2)(supports-color@10.2.2)
eslint-config-prettier:
specifier: ^10.1.8
- version: 10.1.8(eslint@9.39.4(jiti@2.4.2))
+ version: 10.1.8(eslint@9.28.0(jiti@2.4.2)(supports-color@10.2.2))
globals:
specifier: ^17.4.0
version: 17.4.0
jest:
specifier: ^30.3.0
- version: 30.3.0(@types/node@25.5.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.5))(@types/node@25.5.0)(typescript@5.9.3))
+ version: 30.3.0(@types/node@25.5.0)(babel-plugin-macros@3.1.0)(supports-color@10.2.2)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.5))(@types/node@25.5.0)(typescript@5.9.3))
kysely-codegen:
specifier: ^0.20.0
version: 0.20.0(kysely@0.28.17)(pg@8.16.3)(typescript@5.9.3)
@@ -859,13 +836,13 @@ importers:
version: 0.5.21
supertest:
specifier: ^7.2.2
- version: 7.2.2
+ version: 7.2.2(supports-color@10.2.2)
ts-jest:
specifier: ^29.4.6
- version: 29.4.6(@babel/core@7.29.7)(@jest/transform@30.3.0)(@jest/types@30.3.0)(babel-jest@30.3.0(@babel/core@7.29.7))(jest-util@30.3.0)(jest@30.3.0(@types/node@25.5.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.5))(@types/node@25.5.0)(typescript@5.9.3)))(typescript@5.9.3)
+ version: 29.4.6(@babel/core@7.29.7(supports-color@10.2.2))(@jest/transform@30.3.0(supports-color@10.2.2))(@jest/types@30.3.0)(babel-jest@30.3.0(@babel/core@7.29.7(supports-color@10.2.2))(supports-color@10.2.2))(esbuild@0.28.1)(jest-util@30.3.0)(jest@30.3.0(@types/node@25.5.0)(babel-plugin-macros@3.1.0)(supports-color@10.2.2)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.5))(@types/node@25.5.0)(typescript@5.9.3)))(typescript@5.9.3)
ts-loader:
specifier: ^9.5.7
- version: 9.5.7(typescript@5.9.3)(webpack@5.106.0(@swc/core@1.5.25(@swc/helpers@0.5.5)))
+ version: 9.5.7(typescript@5.9.3)(webpack@5.106.0(@swc/core@1.5.25(@swc/helpers@0.5.5))(esbuild@0.28.1)(uglify-js@3.19.3))
ts-node:
specifier: ^10.9.2
version: 10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.5))(@types/node@25.5.0)(typescript@5.9.3)
@@ -877,7 +854,7 @@ importers:
version: 5.9.3
typescript-eslint:
specifier: ^8.57.1
- version: 8.57.1(eslint@9.39.4(jiti@2.4.2))(typescript@5.9.3)
+ version: 8.57.1(eslint@9.28.0(jiti@2.4.2)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@5.9.3)
packages/base-formula: {}
@@ -1202,22 +1179,10 @@ packages:
resolution: {integrity: sha512-/OFHhy86aG5Pe8dP5tsp+BuJ25JOAl9yaMU3WZbkeoiFMHFtJ7tu5ili7qEdBXNW9G5lDB19trwyI6V49F/8iQ==}
engines: {node: '>=20.0.0'}
- '@babel/code-frame@7.27.1':
- resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==}
- engines: {node: '>=6.9.0'}
-
- '@babel/code-frame@7.29.0':
- resolution: {integrity: sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==}
- engines: {node: '>=6.9.0'}
-
'@babel/code-frame@7.29.7':
resolution: {integrity: sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==}
engines: {node: '>=6.9.0'}
- '@babel/compat-data@7.28.5':
- resolution: {integrity: sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==}
- engines: {node: '>=6.9.0'}
-
'@babel/compat-data@7.29.7':
resolution: {integrity: sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg==}
engines: {node: '>=6.9.0'}
@@ -1226,10 +1191,6 @@ packages:
resolution: {integrity: sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA==}
engines: {node: '>=6.9.0'}
- '@babel/generator@7.28.5':
- resolution: {integrity: sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==}
- engines: {node: '>=6.9.0'}
-
'@babel/generator@7.29.7':
resolution: {integrity: sha512-DkXD5OJQaAQIdZ1bt3UZdEnHAn9Imd3IVBdX03UFe+ony9Ojw5pzr9YVKGDY1jt+Gcn/FnGkNf8r+Vj5NOJWtQ==}
engines: {node: '>=6.9.0'}
@@ -1242,10 +1203,6 @@ packages:
resolution: {integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==}
engines: {node: '>=6.9.0'}
- '@babel/helper-compilation-targets@7.27.2':
- resolution: {integrity: sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==}
- engines: {node: '>=6.9.0'}
-
'@babel/helper-compilation-targets@7.29.7':
resolution: {integrity: sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g==}
engines: {node: '>=6.9.0'}
@@ -1254,18 +1211,18 @@ packages:
resolution: {integrity: sha512-xCoqR/8+BoNnXOY7RVSgv6X+o7pmT5q1d+gGcRlXYkI+9B31glE4jeejhKVpA04O1AtzOt7OSQ6VYKP5FcRl9g==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0
'@babel/helper-create-regexp-features-plugin@7.22.15':
resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0
'@babel/helper-define-polyfill-provider@0.4.4':
resolution: {integrity: sha512-QcJMILQCu2jm5TFPGA3lCpJJTeEP+mqeXooG/NZbg/h5FTFi6V0+99ahlRsW8/kRLyb24LZVCCiclDedhLKcBA==}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
'@babel/helper-environment-visitor@7.24.6':
resolution: {integrity: sha512-Y50Cg3k0LKLMjxdPjIl40SdJgMB85iXn27Vk/qbHZCFx/o5XO3PSnpi675h1KEmmDb6OFArfd5SCQEQ5Q4H88g==}
@@ -1275,10 +1232,6 @@ packages:
resolution: {integrity: sha512-xpeLqeeRkbxhnYimfr2PC+iA0Q7ljX/d1eZ9/inYbmfG2jpl8Lu3DyXvpOAnrS5kxkfOWJjioIMQsaMBXFI05w==}
engines: {node: '>=6.9.0'}
- '@babel/helper-globals@7.28.0':
- resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==}
- engines: {node: '>=6.9.0'}
-
'@babel/helper-globals@7.29.7':
resolution: {integrity: sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA==}
engines: {node: '>=6.9.0'}
@@ -1287,34 +1240,20 @@ packages:
resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==}
engines: {node: '>=6.9.0'}
- '@babel/helper-module-imports@7.27.1':
- resolution: {integrity: sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==}
- engines: {node: '>=6.9.0'}
-
'@babel/helper-module-imports@7.29.7':
resolution: {integrity: sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g==}
engines: {node: '>=6.9.0'}
- '@babel/helper-module-transforms@7.28.3':
- resolution: {integrity: sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': 7.29.7
-
'@babel/helper-module-transforms@7.29.7':
resolution: {integrity: sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0
'@babel/helper-optimise-call-expression@7.22.5':
resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==}
engines: {node: '>=6.9.0'}
- '@babel/helper-plugin-utils@7.28.6':
- resolution: {integrity: sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==}
- engines: {node: '>=6.9.0'}
-
'@babel/helper-plugin-utils@7.29.7':
resolution: {integrity: sha512-G7sHYigPY17oO5SYWnfD/0MTBwVR781S/JI643e/JhUYgVgWE/61SoW3NH9KWUKyKq5LVh3npif99Wkt6j86Jw==}
engines: {node: '>=6.9.0'}
@@ -1323,13 +1262,13 @@ packages:
resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0
'@babel/helper-replace-supers@7.22.20':
resolution: {integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0
'@babel/helper-simple-access@7.24.6':
resolution: {integrity: sha512-nZzcMMD4ZhmB35MOOzQuiGO5RzL6tJbsT37Zx8M5L/i9KSrukGXWTjLe1knIbb/RmxoJE9GON9soq0c0VEMM5g==}
@@ -1343,26 +1282,14 @@ packages:
resolution: {integrity: sha512-CvLSkwXGWnYlF9+J3iZUvwgAxKiYzK3BWuo+mLzD/MDGOZDj7Gq8+hqaOkMxmJwmlv0iu86uH5fdADd9Hxkymw==}
engines: {node: '>=6.9.0'}
- '@babel/helper-string-parser@7.27.1':
- resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==}
- engines: {node: '>=6.9.0'}
-
'@babel/helper-string-parser@7.29.7':
resolution: {integrity: sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==}
engines: {node: '>=6.9.0'}
- '@babel/helper-validator-identifier@7.28.5':
- resolution: {integrity: sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==}
- engines: {node: '>=6.9.0'}
-
'@babel/helper-validator-identifier@7.29.7':
resolution: {integrity: sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==}
engines: {node: '>=6.9.0'}
- '@babel/helper-validator-option@7.27.1':
- resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==}
- engines: {node: '>=6.9.0'}
-
'@babel/helper-validator-option@7.29.7':
resolution: {integrity: sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw==}
engines: {node: '>=6.9.0'}
@@ -1380,11 +1307,6 @@ packages:
engines: {node: '>=6.0.0'}
hasBin: true
- '@babel/parser@7.28.5':
- resolution: {integrity: sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==}
- engines: {node: '>=6.0.0'}
- hasBin: true
-
'@babel/parser@7.29.7':
resolution: {integrity: sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==}
engines: {node: '>=6.0.0'}
@@ -1394,467 +1316,467 @@ packages:
resolution: {integrity: sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0
'@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.23.3':
resolution: {integrity: sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.13.0
'@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.23.7':
resolution: {integrity: sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0
'@babel/plugin-proposal-decorators@7.23.7':
resolution: {integrity: sha512-b1s5JyeMvqj7d9m9KhJNHKc18gEJiSyVzVX3bwbiPalQBQpuvfPh6lA9F7Kk/dWH0TIiXRpB9yicwijY6buPng==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2':
resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-syntax-async-generators@7.8.4':
resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-syntax-bigint@7.8.3':
resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-syntax-class-properties@7.12.13':
resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-syntax-class-static-block@7.14.5':
resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-syntax-decorators@7.23.3':
resolution: {integrity: sha512-cf7Niq4/+/juY67E0PbgH0TDhLQ5J7zS8C/Q5FFx+DWyrRa9sUQdTXkjqKu8zGvuqr7vw1muKiukseihU+PJDA==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-syntax-dynamic-import@7.8.3':
resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-syntax-export-namespace-from@7.8.3':
resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-syntax-import-assertions@7.23.3':
resolution: {integrity: sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-syntax-import-attributes@7.28.6':
resolution: {integrity: sha512-jiLC0ma9XkQT3TKJ9uYvlakm66Pamywo+qwL+oL8HJOvc6TWdZXVfhqJr8CCzbSGUAbDOzlGHJC1U+vRfLQDvw==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-syntax-import-meta@7.10.4':
resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-syntax-json-strings@7.8.3':
resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-syntax-jsx@7.28.6':
resolution: {integrity: sha512-wgEmr06G6sIpqr8YDwA2dSRTE3bJ+V0IfpzfSY3Lfgd7YWOaAdlykvJi13ZKBt8cZHfgH1IXN+CL656W3uUa4w==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-syntax-logical-assignment-operators@7.10.4':
resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-syntax-nullish-coalescing-operator@7.8.3':
resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-syntax-numeric-separator@7.10.4':
resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-syntax-object-rest-spread@7.8.3':
resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-syntax-optional-catch-binding@7.8.3':
resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-syntax-optional-chaining@7.8.3':
resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-syntax-private-property-in-object@7.14.5':
resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-syntax-top-level-await@7.14.5':
resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-syntax-typescript@7.28.6':
resolution: {integrity: sha512-+nDNmQye7nlnuuHDboPbGm00Vqg3oO8niRRL27/4LYHUsHYh0zJ1xWOz0uRwNFmM1Avzk8wZbc6rdiYhomzv/A==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-syntax-unicode-sets-regex@7.18.6':
resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0
'@babel/plugin-transform-arrow-functions@7.23.3':
resolution: {integrity: sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-transform-async-generator-functions@7.23.7':
resolution: {integrity: sha512-PdxEpL71bJp1byMG0va5gwQcXHxuEYC/BgI/e88mGTtohbZN28O5Yit0Plkkm/dBzCF/BxmbNcses1RH1T+urA==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-transform-async-to-generator@7.23.3':
resolution: {integrity: sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-transform-block-scoped-functions@7.23.3':
resolution: {integrity: sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-transform-block-scoping@7.23.4':
resolution: {integrity: sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-transform-class-properties@7.23.3':
resolution: {integrity: sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-transform-class-static-block@7.23.4':
resolution: {integrity: sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.12.0
'@babel/plugin-transform-classes@7.23.8':
resolution: {integrity: sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-transform-computed-properties@7.23.3':
resolution: {integrity: sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-transform-destructuring@7.23.3':
resolution: {integrity: sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-transform-dotall-regex@7.23.3':
resolution: {integrity: sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-transform-duplicate-keys@7.23.3':
resolution: {integrity: sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-transform-dynamic-import@7.23.4':
resolution: {integrity: sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-transform-exponentiation-operator@7.23.3':
resolution: {integrity: sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-transform-export-namespace-from@7.23.4':
resolution: {integrity: sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-transform-for-of@7.23.6':
resolution: {integrity: sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-transform-function-name@7.23.3':
resolution: {integrity: sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-transform-json-strings@7.23.4':
resolution: {integrity: sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-transform-literals@7.23.3':
resolution: {integrity: sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-transform-logical-assignment-operators@7.23.4':
resolution: {integrity: sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-transform-member-expression-literals@7.23.3':
resolution: {integrity: sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-transform-modules-amd@7.23.3':
resolution: {integrity: sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-transform-modules-commonjs@7.23.3':
resolution: {integrity: sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-transform-modules-systemjs@7.29.7':
resolution: {integrity: sha512-TM2ZcQLoG2/y4HODiStCo10DibYhWhGWAwVv+EQKmG/7GFl0N+AAmUiXOMKM+aiJ9XBJ9AHVZBvTzMnJ2sM3cQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-transform-modules-umd@7.23.3':
resolution: {integrity: sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-transform-named-capturing-groups-regex@7.22.5':
resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0
'@babel/plugin-transform-new-target@7.23.3':
resolution: {integrity: sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-transform-nullish-coalescing-operator@7.23.4':
resolution: {integrity: sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-transform-numeric-separator@7.23.4':
resolution: {integrity: sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-transform-object-rest-spread@7.23.4':
resolution: {integrity: sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-transform-object-super@7.23.3':
resolution: {integrity: sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-transform-optional-catch-binding@7.23.4':
resolution: {integrity: sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-transform-optional-chaining@7.23.4':
resolution: {integrity: sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-transform-parameters@7.23.3':
resolution: {integrity: sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-transform-private-methods@7.23.3':
resolution: {integrity: sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-transform-private-property-in-object@7.23.4':
resolution: {integrity: sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-transform-property-literals@7.23.3':
resolution: {integrity: sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-transform-regenerator@7.23.3':
resolution: {integrity: sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-transform-reserved-words@7.23.3':
resolution: {integrity: sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-transform-runtime@7.23.7':
resolution: {integrity: sha512-fa0hnfmiXc9fq/weK34MUV0drz2pOL/vfKWvN7Qw127hiUPabFCUMgAbYWcchRzMJit4o5ARsK/s+5h0249pLw==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-transform-shorthand-properties@7.23.3':
resolution: {integrity: sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-transform-spread@7.23.3':
resolution: {integrity: sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-transform-sticky-regex@7.23.3':
resolution: {integrity: sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-transform-template-literals@7.23.3':
resolution: {integrity: sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-transform-typeof-symbol@7.23.3':
resolution: {integrity: sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-transform-typescript@7.23.6':
resolution: {integrity: sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-transform-unicode-escapes@7.23.3':
resolution: {integrity: sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-transform-unicode-property-regex@7.23.3':
resolution: {integrity: sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-transform-unicode-regex@7.23.3':
resolution: {integrity: sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/plugin-transform-unicode-sets-regex@7.23.3':
resolution: {integrity: sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0
'@babel/preset-env@7.23.8':
resolution: {integrity: sha512-lFlpmkApLkEP6woIKprO6DO60RImpatTQKtz4sUcDjVcK8M8mQ4sZsuxaTMNOZf0sqAq/ReYW1ZBHnOQwKpLWA==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/preset-modules@0.1.6-no-external-plugins':
resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0
'@babel/preset-typescript@7.23.3':
resolution: {integrity: sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==}
engines: {node: '>=6.9.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
'@babel/regjsgen@0.8.0':
resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==}
@@ -1863,10 +1785,6 @@ packages:
resolution: {integrity: sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g==}
engines: {node: '>=6.9.0'}
- '@babel/template@7.27.2':
- resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==}
- engines: {node: '>=6.9.0'}
-
'@babel/template@7.29.7':
resolution: {integrity: sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg==}
engines: {node: '>=6.9.0'}
@@ -1875,18 +1793,10 @@ packages:
resolution: {integrity: sha512-19lYZFzYVQkkHkl4Cy4WrAVcqBkgvV2YM2TU3xG6DIwO7O3ecbDPfW3yM3bjAGcqcQHi+CCtjMR3dIEHxsd6bA==}
engines: {node: '>=6.9.0'}
- '@babel/traverse@7.28.5':
- resolution: {integrity: sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==}
- engines: {node: '>=6.9.0'}
-
'@babel/traverse@7.29.7':
resolution: {integrity: sha512-EhlfNQtZ+NK22w5BM61ciuiq1m58ed33Wr1Xan//ZRTy6hgjnwyCffRYwzsGXdASJSUJ1guZILsErh1eQcl+zw==}
engines: {node: '>=6.9.0'}
- '@babel/types@7.28.5':
- resolution: {integrity: sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==}
- engines: {node: '>=6.9.0'}
-
'@babel/types@7.29.7':
resolution: {integrity: sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==}
engines: {node: '>=6.9.0'}
@@ -1996,20 +1906,17 @@ packages:
'@emnapi/core@1.10.0':
resolution: {integrity: sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==}
- '@emnapi/core@1.8.1':
- resolution: {integrity: sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg==}
+ '@emnapi/core@1.4.5':
+ resolution: {integrity: sha512-XsLw1dEOpkSX/WucdqUhPWP7hDxSvZiY+fsUC14h+FtQ2Ifni4znbBt8punRX+Uj2JG/uDb8nEHVKvrVlvdZ5Q==}
'@emnapi/runtime@1.10.0':
resolution: {integrity: sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==}
- '@emnapi/runtime@1.5.0':
- resolution: {integrity: sha512-97/BJ3iXHww3djw6hYIfErCZFee7qCtrneuLa20UXFCOTCfBM2cvQHjWJ2EG0s0MtdNwInarqCTz35i4wWXHsQ==}
+ '@emnapi/runtime@1.4.5':
+ resolution: {integrity: sha512-++LApOtY0pEEz1zrd9vy1/zXVaVJJ/EbAF3u0fXIzPJEDtnITsBGbbK0EkM72amhl/R5b+5xx0Y/QhcVOpuulg==}
- '@emnapi/runtime@1.9.1':
- resolution: {integrity: sha512-VYi5+ZVLhpgK4hQ0TAjiQiZ6ol0oe4mBx7mVv7IflsiEp0OWoVsp/+f9Vc1hOhE0TtkORVrI1GvzyreqpgWtkA==}
-
- '@emnapi/wasi-threads@1.1.0':
- resolution: {integrity: sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==}
+ '@emnapi/wasi-threads@1.0.4':
+ resolution: {integrity: sha512-PJR+bOmMOPH8AtcTGAyYNiuJ3/Fcoj2XN/gBEWzDIKh254XO+mM9XoXHk5GNEhodxeMznbg7BlRojVbKN+gC6g==}
'@emnapi/wasi-threads@1.2.1':
resolution: {integrity: sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==}
@@ -2187,18 +2094,10 @@ packages:
resolution: {integrity: sha512-OL0RJzC/CBzli0DrrR31qzj6d6i6Mm3HByuhflhl4LOBiWxN+3i6/t/ZQQNii4tjksXi8r2CRW1wMpWA2ULUEw==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/config-array@0.21.2':
- resolution: {integrity: sha512-nJl2KGTlrf9GjLimgIru+V/mzgSK0ABCDQRvxw5BjURL7WfH5uoWmizbH7QB6MmnMBd8cIC9uceWnezL1VZWWw==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
'@eslint/config-helpers@0.2.3':
resolution: {integrity: sha512-u180qk2Um1le4yf0ruXH3PYFeEZeYC3p/4wCTKrr2U1CmGdzGi3KtY0nuPDH48UJxlKCC5RDzbcbh4X0XlqgHg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/config-helpers@0.4.2':
- resolution: {integrity: sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
'@eslint/core@0.14.0':
resolution: {integrity: sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -2207,10 +2106,6 @@ packages:
resolution: {integrity: sha512-78Md3/Rrxh83gCxoUc0EiciuOHsIITzLy53m3d9UyiW8y9Dj2D29FeETqyKA+BRK76tnTp6RXWb3pCay8Oyomg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/core@0.17.0':
- resolution: {integrity: sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
'@eslint/eslintrc@3.3.5':
resolution: {integrity: sha512-4IlJx0X0qftVsN5E+/vGujTRIFtwuLbNsVUe7TO6zYPDR1O6nFwvwhIKEKSrl6dZchmYBITazxKoUYOjdtjlRg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -2219,10 +2114,6 @@ packages:
resolution: {integrity: sha512-fnqSjGWd/CoIp4EXIxWVK/sHA6DOHN4+8Ix2cX5ycOY7LG0UY8nHCU5pIp2eaE1Mc7Qd8kHspYNzYXT2ojPLzg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/js@9.39.4':
- resolution: {integrity: sha512-nE7DEIchvtiFTwBw4Lfbu59PG+kCofhjsKaCWzxTpt4lfRjRMqG6uMBzKXuEcyXhOHoUp9riAm7/aWYGhXZ9cw==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
'@eslint/object-schema@2.1.7':
resolution: {integrity: sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -2231,10 +2122,6 @@ packages:
resolution: {integrity: sha512-Z5kJ+wU3oA7MMIqVR9tyZRtjYPr4OC004Q4Rw7pgOKUOKkJfZ3O24nz3WYfGRpMDNmcOi3TwQOmgm7B7Tpii0w==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- '@eslint/plugin-kit@0.4.1':
- resolution: {integrity: sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
-
'@excalidraw/common@0.18.0-3a5ef40':
resolution: {integrity: sha512-bnrDbP/Stg+i/mbI2H/kns69fFRPrMNOZ3nWA5opdp9oiNid0TS5D4fBEECRq6JdbStGp6Y7hdiN9OP5pUiUCA==}
@@ -2272,11 +2159,11 @@ packages:
'@fastify/busboy@3.1.1':
resolution: {integrity: sha512-5DGmA8FTdB2XbDeEwc/5ZXBl6UbBAyBOOLlPuBnZ/N1SwdH9Ii+cOX3tBROlDgcTXxjOYnLMVoKk9+FXAw0CJw==}
- '@fastify/cookie@11.0.2':
- resolution: {integrity: sha512-GWdwdGlgJxyvNv+QcKiGNevSspMQXncjMZ1J8IvuDQk0jvkzgWWZFNC2En3s+nHndZBGV8IbLwOI/sxCZw/mzA==}
+ '@fastify/cookie@11.1.2':
+ resolution: {integrity: sha512-Dtrpk/YOGUsbRMvP/8ZqPpwnMRv0qSqodFdoQ2B589Obc7jw4s4Qla+cV72Bsm7WsZJnqlYFX/i7uSBq0xzg6g==}
- '@fastify/cors@11.2.0':
- resolution: {integrity: sha512-LbLHBuSAdGdSFZYTLVA3+Ch2t+sA6nq3Ejc6XLAKiQ6ViS2qFnvicpj0htsx03FyYeLs04HfRNBsz/a8SvbcUw==}
+ '@fastify/cors@11.3.0':
+ resolution: {integrity: sha512-ggQGua+xHv1MvePbPr0v//xLYEsCXbWspquXCJS9Ot5YoRXq8J8ZWzHnxDBVnbtXosvistXo6LtNzOJswf64Fw==}
'@fastify/deepmerge@3.1.0':
resolution: {integrity: sha512-lCVONBQINyNhM6LLezB6+2afusgEYR4G8xenMsfe+AT+iZ7Ca6upM5Ha8UkZuYSnuMw3GWl/BiPXnLMi/gSxuQ==}
@@ -2296,8 +2183,8 @@ packages:
'@fastify/merge-json-schemas@0.2.1':
resolution: {integrity: sha512-OA3KGBCy6KtIvLf8DINC5880o5iBlDX4SxzLQS8HorJAbqluzLRn80UXU0bxZn7UOFhFgpRJDasfwn9nG4FG4A==}
- '@fastify/multipart@10.0.0':
- resolution: {integrity: sha512-pUx3Z1QStY7E7kwvDTIvB6P+rF5lzP+iqPgZyJyG3yBJVPvQaZxzDHYbQD89rbY0ciXrMOyGi8ezHDVexLvJDA==}
+ '@fastify/multipart@10.1.1':
+ resolution: {integrity: sha512-jyRHgnFVdchZRKjJRf6kGPEiDp3Bg4MLo4d6/krt8Z4RutLrqL5IYWihx8a4tnv7Tu7JfuHcyC+dU9zPzTxiSg==}
'@fastify/proxy-addr@5.0.0':
resolution: {integrity: sha512-37qVVA1qZ5sgH7KpHkkC4z9SK6StIsIcOmpjvMPXNb3vx2GQxhZocogVYbr2PbbeLCQxYIPDok307xEvRZOzGA==}
@@ -2305,11 +2192,8 @@ packages:
'@fastify/send@4.1.0':
resolution: {integrity: sha512-TMYeQLCBSy2TOFmV95hQWkiTYgC/SEx7vMdV+wnZVX4tt8VBLKzmH8vV9OzJehV0+XBfg+WxPMt5wp+JBUKsVw==}
- '@fastify/static@9.1.3':
- resolution: {integrity: sha512-aXrYtsiryLhRxRNaxNqsn7FUISeb7rB9q4eHUPIot5aeQBLNahnz1m6thzm7JWC1poSGXS9XrX8DvuMivp2hkQ==}
-
- '@floating-ui/core@1.7.3':
- resolution: {integrity: sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==}
+ '@fastify/static@10.1.3':
+ resolution: {integrity: sha512-W6jqajYS974XjPjB5hQWoxPM8NKM4+p8YmQT6G5IbCa4uhdWSVadZUv75siy1wEA/3ty8RYdpBydfWeu9AqAqQ==}
'@floating-ui/core@1.7.5':
resolution: {integrity: sha512-1Ih4WTWyw0+lKyFMcBHGbb5U5FtuHJuujoyyr5zTaWS5EYMeT6Jb2AuDeftsCsEuchO+mM2ij5+q9crhydzLhQ==}
@@ -2317,18 +2201,9 @@ packages:
'@floating-ui/dom@1.7.3':
resolution: {integrity: sha512-uZA413QEpNuhtb3/iIKoYMSK07keHPYeXF02Zhd6e213j+d1NamLix/mCLxBUDW/Gx52sPH2m+chlUsyaBs/Ag==}
- '@floating-ui/dom@1.7.4':
- resolution: {integrity: sha512-OOchDgh4F2CchOX94cRVqhvy7b3AFb+/rQXyswmzmGakRfkMgoWVjfnLWkRirfLEfuD4ysVW16eXzwt3jHIzKA==}
-
'@floating-ui/dom@1.7.6':
resolution: {integrity: sha512-9gZSAI5XM36880PPMm//9dfiEngYoC6Am2izES1FF406YFsjvyBMmeJ2g4SAju3xWwtuynNRFL2s9hgxpLI5SQ==}
- '@floating-ui/react-dom@2.1.6':
- resolution: {integrity: sha512-4JX6rEatQEvlmgU80wZyq9RT96HZJa88q8hp0pBd+LrczeDI4o6uA2M+uvxngVHo4Ihr8uibXxH6+70zhAFrVw==}
- peerDependencies:
- react: '>=16.8.0'
- react-dom: '>=16.8.0'
-
'@floating-ui/react-dom@2.1.8':
resolution: {integrity: sha512-cC52bHwM/n/CxS87FH0yWdngEZrjdtLW/qVruo68qg+prK7ZQ4YGdut2GyDVpoGeAYe/h899rVeOVm6Oi40k2A==}
peerDependencies:
@@ -2341,48 +2216,45 @@ packages:
react: '>=17.0.0'
react-dom: '>=17.0.0'
- '@floating-ui/utils@0.2.10':
- resolution: {integrity: sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==}
-
'@floating-ui/utils@0.2.11':
resolution: {integrity: sha512-RiB/yIh78pcIxl6lLMG0CgBXAZ2Y0eVHqMPYugu+9U0AeT6YBeiJpf7lbdJNIugFP5SIjwNRgo4DhR1Qxi26Gg==}
- '@hocuspocus/common@4.4.0':
- resolution: {integrity: sha512-cPSlPu/ws2JzBHW6OzctyaQMyDCq/YUS4nhXSbyMdkQwJzhjCkvfmmRnVtcmgLR3TBLaNwToNDwR/mNaJFOYsg==}
+ '@hocuspocus/common@4.5.0':
+ resolution: {integrity: sha512-hz6IBLLNKOWrWf+8r236CFFhpkcjEVXtZH1XRrkY0b5dYoQgR5gmuV5/5dJm1Vvyc8I70D+SHCvOch2AsRXonA==}
- '@hocuspocus/provider-react@4.4.0':
- resolution: {integrity: sha512-8rbhIYQUl8ZvE5q4SHFo9+oYjFCkVoWssQJV6q5CMNuV7D/v1lJoQZLpznw7vzWWj9ijVrqNiI8UFnc2X8AGZg==}
+ '@hocuspocus/provider-react@4.5.0':
+ resolution: {integrity: sha512-zvYILUBdDEQg+A/i3goheEGDl3WIX+sD+YcRD61odfudLFEUCFsnZ7B7Ilq45k71cTvX9XSjawxgz7uv//mlpw==}
peerDependencies:
- '@hocuspocus/provider': ^4.4.0
+ '@hocuspocus/provider': ^4.5.0
react: ^18.0.0 || ^19.0.0
yjs: ^13.6.8
- '@hocuspocus/provider@4.4.0':
- resolution: {integrity: sha512-A83ROMFqU2bgjTTQ1YMteY9v2cIhDHj4S6XgzjPaqYEgOFr2XvBYGnK+NXzZ6DgldKTnlN7qqvWvZplPvltgyw==}
+ '@hocuspocus/provider@4.5.0':
+ resolution: {integrity: sha512-zpu68EIVZCzem1aCRjXeeeRVgaJHZa+p2rpherneUpwTnrb3WInL4IJ7cgMk0yP1/I2KPzve6meGODl1JPNTZQ==}
peerDependencies:
y-protocols: ^1.0.6
yjs: ^13.6.8
- '@hocuspocus/server@4.4.0':
- resolution: {integrity: sha512-eVSnx+76CN81vaRol+OlT8FyyGFOBF9Z+kdJQhjVXRpj3kIAI1TzuRHKiZN1vkUogdHfmOAN5Bhs5v7V/qhMkQ==}
+ '@hocuspocus/server@4.5.0':
+ resolution: {integrity: sha512-obRjLJmBi+EsQgP/Q7nZHC4ZvuBSROQCiLBLmIvib0IG3mu4vJfWiMiAmmrfMKM05denjbfK2BVKMmDVj9AGig==}
engines: {node: '>=22'}
peerDependencies:
y-protocols: ^1.0.6
yjs: ^13.6.8
- '@hocuspocus/transformer@4.4.0':
- resolution: {integrity: sha512-wvHgbiWfU1QERIMd37aImtb4xbHRGwek+66VPgFaSx3POgxCKmkZH5iVY25j/T0PBmloofPoV1XYbwLwJZMtJw==}
+ '@hocuspocus/transformer@4.5.0':
+ resolution: {integrity: sha512-y5G1a9az4sLhXE8X2koHN6kKAGrgyj0Z9E+orSUvIGmurXGjD/OHPRWIKdOYBls1IzLZ78gkTdwzDN2H9ko0MA==}
peerDependencies:
'@tiptap/core': ^3.0.1
'@tiptap/pm': ^3.0.1
- y-prosemirror: 1.3.7
+ y-prosemirror: ^1.2.1
yjs: ^13.6.8
- '@hono/node-server@1.19.13':
- resolution: {integrity: sha512-TsQLe4i2gvoTtrHje625ngThGBySOgSK3Xo2XRYOdqGN1teR8+I7vchQC46uLJi8OF62YTYA3AhSpumtkhsaKQ==}
- engines: {node: '>=18.14.1'}
+ '@hono/node-server@2.0.12':
+ resolution: {integrity: sha512-eWpQYr67tqJLeaSUl0Q+TquuYfUdTibpOJlUMV2FfUP7+KqCC5TufnwnlXL6mobZBJbGAYRd7ZvEBDCbLInjhg==}
+ engines: {node: '>=20'}
peerDependencies:
- hono: 4.12.25
+ hono: ^4
'@humanfs/core@0.19.1':
resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==}
@@ -2589,10 +2461,6 @@ packages:
resolution: {integrity: sha512-SlLSF4Be735yQXyh2+mctBOzNDx5s5uLv88/j8Qn1wH679PDcwy67+YdADn8NJnGjzlXtN62asGH/T4vWOkfaw==}
engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
- '@jest/expect-utils@30.2.0':
- resolution: {integrity: sha512-1JnRfhqpD8HGpOmQp180Fo9Zt69zNtC+9lR+kT7NVL05tNXIi+QC8Csz7lfidMoVLPD3FnOtcmp0CEFnxExGEA==}
- engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
-
'@jest/expect-utils@30.3.0':
resolution: {integrity: sha512-j0+W5iQQ8hBh7tHZkTQv3q2Fh/M7Je72cIsYqC4OaktgtO7v1So9UTjp6uPBHIaB6beoF/RRsCgMJKvti0wADA==}
engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
@@ -2650,10 +2518,6 @@ packages:
resolution: {integrity: sha512-TLKY33fSLVd/lKB2YI1pH69ijyUblO/BQvCj566YvnwuzoTNr648iE0j22vRvVNk2HsPwByPxATg3MleS3gf5A==}
engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
- '@jest/types@30.2.0':
- resolution: {integrity: sha512-H9xg1/sfVvyfU7o3zMfBEjQ1gcsdeTMgqHoYdN79tuLqfTtuu7WckRA1R5whDwOzxaZAeMKTYWqP+WCAi0CHsg==}
- engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
-
'@jest/types@30.3.0':
resolution: {integrity: sha512-JHm87k7bA33hpBngtU8h6UBub/fqqA9uXfw+21j5Hmk7ooPHlboRNxHq0JcMtC+n8VJGP1mcfnD3Mk+XKe1oSw==}
engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
@@ -2677,9 +2541,6 @@ packages:
'@jridgewell/source-map@0.3.6':
resolution: {integrity: sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==}
- '@jridgewell/sourcemap-codec@1.5.0':
- resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==}
-
'@jridgewell/sourcemap-codec@1.5.5':
resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==}
@@ -2708,11 +2569,8 @@ packages:
peerDependencies:
'@langchain/core': ^1.0.0
- '@lifeomic/attempt@3.0.3':
- resolution: {integrity: sha512-GlM2AbzrErd/TmLL3E8hAHmb5Q7VhDJp35vIbyPVA5Rz55LZuRr8pwL3qrwwkVNo05gMX1J44gURKb4MHQZo7w==}
-
- '@ltd/j-toml@1.38.0':
- resolution: {integrity: sha512-lYtBcmvHustHQtg4X7TXUu1Xa/tbLC3p2wLvgQI+fWVySguVZJF60Snxijw5EiohumxZbR10kWYFFebh1zotiw==}
+ '@lifeomic/attempt@3.1.0':
+ resolution: {integrity: sha512-QZqem4QuAnAyzfz+Gj5/+SLxqwCAw2qmt7732ZXodr6VDWGeYLG6w1i/vYLa55JQM9wRuBKLmXmiZ2P0LtE5rw==}
'@lukeed/csprng@1.1.0':
resolution: {integrity: sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA==}
@@ -2780,11 +2638,11 @@ packages:
'@mermaid-js/parser@0.6.3':
resolution: {integrity: sha512-lnjOhe7zyHjc+If7yT4zoedx2vo4sHaTmtkl1+or8BRTnCtDmcTpAjpzDSfCZrshM5bCoz0GyidzadJAH1xobA==}
- '@mermaid-js/parser@1.1.1':
- resolution: {integrity: sha512-VuHdsYMK1bT6X2JbcAaWAhugTRvRBRyuZgd+c22swUeI9g/ntaxF7CY7dYarhZovofCbUNO0G7JesfmNtjYOCw==}
+ '@mermaid-js/parser@1.2.0':
+ resolution: {integrity: sha512-oYPyv8A4As1yH5Bx+04iQEQxXuIQDe0GKCNSRgao6z8AM9jixXIfP0vsppRLvGf+nKIOb9/LdpWA4YuJiVvESA==}
- '@modelcontextprotocol/sdk@1.29.0':
- resolution: {integrity: sha512-zo37mZA9hJWpULgkRpowewez1y6ML5GsXJPY8FI0tBBCd77HEvza4jDqRKOXgHNn867PVGCyTdzqpz0izu5ZjQ==}
+ '@modelcontextprotocol/sdk@1.30.0':
+ resolution: {integrity: sha512-xKd8OIzlqNzcqcNumGAa6g+PW2kjD5vrpcKOnfldAUPP3j7lnqMPwlTXQm8gF+UwH72z0lqaRbjr9hqGz0eITA==}
engines: {node: '>=18'}
peerDependencies:
'@cfworker/json-schema': ^4.1.1
@@ -2793,61 +2651,31 @@ packages:
'@cfworker/json-schema':
optional: true
- '@msgpackr-extract/msgpackr-extract-darwin-arm64@3.0.2':
- resolution: {integrity: sha512-9bfjwDxIDWmmOKusUcqdS4Rw+SETlp9Dy39Xui9BEGEk19dDwH0jhipwFzEff/pFg95NKymc6TOTbRKcWeRqyQ==}
- cpu: [arm64]
- os: [darwin]
-
'@msgpackr-extract/msgpackr-extract-darwin-arm64@3.0.4':
resolution: {integrity: sha512-LCkGo6JDfaBhgST7UpPWgNgLINpcpabaHfyz5OBx75nUYxBsaEPxjnyNjWpeb/xBup/682QnBfRBy2/LvPutZQ==}
cpu: [arm64]
os: [darwin]
- '@msgpackr-extract/msgpackr-extract-darwin-x64@3.0.2':
- resolution: {integrity: sha512-lwriRAHm1Yg4iDf23Oxm9n/t5Zpw1lVnxYU3HnJPTi2lJRkKTrps1KVgvL6m7WvmhYVt/FIsssWay+k45QHeuw==}
- cpu: [x64]
- os: [darwin]
-
'@msgpackr-extract/msgpackr-extract-darwin-x64@3.0.4':
resolution: {integrity: sha512-zExlW9zUJKZH/tOtVMttwjKa4Xm/3KcNjnE3dPN92uCktwavMxpgCA3MoJK/DOnTWsQgo224OaST27/mPNAf+w==}
cpu: [x64]
os: [darwin]
- '@msgpackr-extract/msgpackr-extract-linux-arm64@3.0.2':
- resolution: {integrity: sha512-FU20Bo66/f7He9Fp9sP2zaJ1Q8L9uLPZQDub/WlUip78JlPeMbVL8546HbZfcW9LNciEXc8d+tThSJjSC+tmsg==}
- cpu: [arm64]
- os: [linux]
-
'@msgpackr-extract/msgpackr-extract-linux-arm64@3.0.4':
resolution: {integrity: sha512-dgX0P/9wGPJeHFBG+ZmhgE6bmtMt7NP5CRBGyyktpopdk/mW4POnrpQsSLtKI1dwpc+pPLuXHDh6vvskyQE/sw==}
cpu: [arm64]
os: [linux]
- '@msgpackr-extract/msgpackr-extract-linux-arm@3.0.2':
- resolution: {integrity: sha512-MOI9Dlfrpi2Cuc7i5dXdxPbFIgbDBGgKR5F2yWEa6FVEtSWncfVNKW5AKjImAQ6CZlBK9tympdsZJ2xThBiWWA==}
- cpu: [arm]
- os: [linux]
-
'@msgpackr-extract/msgpackr-extract-linux-arm@3.0.4':
resolution: {integrity: sha512-Tg3yX65f5GbtXLkrYEHE5oibZG9epyYWas7FogTTEJeDEF9JlXJzKgXaNhT3UXlTOeA+AfZpYZYZ0uPj7Cfquw==}
cpu: [arm]
os: [linux]
- '@msgpackr-extract/msgpackr-extract-linux-x64@3.0.2':
- resolution: {integrity: sha512-gsWNDCklNy7Ajk0vBBf9jEx04RUxuDQfBse918Ww+Qb9HCPoGzS+XJTLe96iN3BVK7grnLiYghP/M4L8VsaHeA==}
- cpu: [x64]
- os: [linux]
-
'@msgpackr-extract/msgpackr-extract-linux-x64@3.0.4':
resolution: {integrity: sha512-8TNXMEjJc3QEy7R/x1INhgiU+XakDAFUzBhaz7+Rbrs8NH5UQeHQxxmzsSBJGyV6I1jW79undiQm8tOI+D+8FQ==}
cpu: [x64]
os: [linux]
- '@msgpackr-extract/msgpackr-extract-win32-x64@3.0.2':
- resolution: {integrity: sha512-O+6Gs8UeDbyFpbSh2CPEz/UOrrdWPTBYNblZK5CxxLisYt4kGX3Sc+czffFonyjiGSq3jWLwJS/CCJc7tBr4sQ==}
- cpu: [x64]
- os: [win32]
-
'@msgpackr-extract/msgpackr-extract-win32-x64@3.0.4':
resolution: {integrity: sha512-CmCXPQrkbwExx3j946/PtHWHbYJiCRBRDl4BlkRQcJB/YOwQxJRTpoo7aTsortjgoJ1x7opzTSxn7C+ASSLVjQ==}
cpu: [x64]
@@ -2882,18 +2710,18 @@ packages:
'@nestjs/core': ^10.0.0 || ^11.0.0
ioredis: ^5.0.0
- '@nestjs/bull-shared@11.0.4':
- resolution: {integrity: sha512-VBJcDHSAzxQnpcDfA0kt9MTGUD1XZzfByV70su0W0eDCQ9aqIEBlzWRW21tv9FG9dIut22ysgDidshdjlnczLw==}
+ '@nestjs/bull-shared@11.0.5':
+ resolution: {integrity: sha512-QI7GHPk4oePBwszAZn/Kz5hgB79KijB1RDoo+E/BrSt33sHUrvRZXVyO0+knZleyloRYy0LT2VwsqSP/aQvg4Q==}
peerDependencies:
'@nestjs/common': ^10.0.0 || ^11.0.0
'@nestjs/core': ^10.0.0 || ^11.0.0
- '@nestjs/bullmq@11.0.4':
- resolution: {integrity: sha512-wBzK9raAVG0/6NTMdvLGM4/FQ1lsB35/pYS8L6a0SDgkTiLpd7mAjQ8R692oMx5s7IjvgntaZOuTUrKYLNfIkA==}
+ '@nestjs/bullmq@11.0.5':
+ resolution: {integrity: sha512-u0VGVc5aER8A+4jEYXDin2rtqIHR8sFL68RUgNDgZslvjdeb1QL4CF+Sr0v4zMXJEfaLSVD606Oq0cryNNCxHg==}
peerDependencies:
'@nestjs/common': ^10.0.0 || ^11.0.0
'@nestjs/core': ^10.0.0 || ^11.0.0
- bullmq: ^3.0.0 || ^4.0.0 || ^5.0.0
+ bullmq: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0
'@nestjs/cache-manager@3.1.3':
resolution: {integrity: sha512-HMtiOfHz75NZX7mJn1VnZGLSachVI04TnUc5wvEogIaKwk5BDQHgtP5htxreizjv7oxKalJbuTyxtiF6bE+bgQ==}
@@ -2917,8 +2745,8 @@ packages:
'@swc/core':
optional: true
- '@nestjs/common@11.1.27':
- resolution: {integrity: sha512-kEGSzqM2lWr4whh4Ubflw+oPZSEzxvRMu9WL+LveZploJWTjec5bBlCiRVlVzTPg2kIwBiLwWSvCCW7Wnin1gg==}
+ '@nestjs/common@11.2.1':
+ resolution: {integrity: sha512-SEgtP+M9DqNhQkgJIlJ3oTp3gemo/8owySovzMGmJj2kcfIH1G6QP45AAb8dE4a3IpVicpUvdDAy7Syk7ebjBw==}
peerDependencies:
class-transformer: '>=0.4.1'
class-validator: '>=0.13.2'
@@ -2936,8 +2764,8 @@ packages:
'@nestjs/common': ^10.0.0 || ^11.0.0
rxjs: ^7.1.0
- '@nestjs/core@11.1.27':
- resolution: {integrity: sha512-K6DX7hcqmZdeXkv7tsPakKBRCgqL19a4mtbX4FluY0hWtFdtPKp6lbe+lb8gWPfvLdbOWr/CPScn7BSjBX+Ecg==}
+ '@nestjs/core@11.2.1':
+ resolution: {integrity: sha512-M5PWFU8NdRTgX9Po49d7TQKg7f5t8GAVUa/Esy4tmaMWcKugTzg3ZzpJfD3LEPMuRHjfs6+8pQYgtuP2uz3rDw==}
engines: {node: '>= 20'}
peerDependencies:
'@nestjs/common': ^11.0.0
@@ -2984,10 +2812,10 @@ packages:
'@nestjs/common': ^10.0.0 || ^11.0.0
passport: ^0.5.0 || ^0.6.0 || ^0.7.0
- '@nestjs/platform-fastify@11.1.27':
- resolution: {integrity: sha512-rZMPS0RMP9P2O7Y/shAP0kKwrHElGO9cPTlgtdWpQ6JEX58uhYEJLGsU/X9a9l18DNSxxb3YjrEiVVuI2Iv6MA==}
+ '@nestjs/platform-fastify@11.2.1':
+ resolution: {integrity: sha512-dX00kr+yAA7Eh8u/LsYxaxdUizmhvaeUT4pbpNTixNDLFBP73XVuatSrgBdmq7HVAsk0mozI/zL/g7R0MSVUrA==}
peerDependencies:
- '@fastify/static': ^8.0.0 || ^9.0.0
+ '@fastify/static': ^10.1.2
'@fastify/view': ^10.0.0 || ^11.0.0 || ^12.0.0
'@nestjs/common': ^11.0.0
'@nestjs/core': ^11.0.0
@@ -2997,8 +2825,8 @@ packages:
'@fastify/view':
optional: true
- '@nestjs/platform-socket.io@11.1.27':
- resolution: {integrity: sha512-xgpLzaIDGOCC6xOAtHnRAz8sqieFgGxxu3MN5ID026Jt6oeL3efp29N5QHhPr7UlqBfy/Jd02uj0POkZq6Au3Q==}
+ '@nestjs/platform-socket.io@11.2.1':
+ resolution: {integrity: sha512-BZuk8PpZCN5Dp1nXRuzRIMP9GwOH7YkP10nXQDtKnJfJnMhEfi5ANTjHrk/j0qHB/dhxy6WgFzib7ncSg7wMDw==}
peerDependencies:
'@nestjs/common': ^11.0.0
'@nestjs/websockets': ^11.0.0
@@ -3083,8 +2911,8 @@ packages:
'@nestjs/core': ^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0
reflect-metadata: ^0.1.13 || ^0.2.0
- '@nestjs/websockets@11.1.27':
- resolution: {integrity: sha512-X3OgJt9KgYTvt9D7sNz9SOj3A1daAHy7DZrYhM1pky8Fh+erlKQH5IQ/tKm+GaJKA5M0srBUr1CMqjak/qNxOw==}
+ '@nestjs/websockets@11.2.1':
+ resolution: {integrity: sha512-HWBSJl4kciGJW+PfSgVUKa2tsrM9IqmjsovGQOla44x6VnE/N57y/dJmEJISaoHUJm+bDm4whO5ggXxQHhLwMw==}
peerDependencies:
'@nestjs/common': ^11.0.0
'@nestjs/core': ^11.0.0
@@ -3114,75 +2942,78 @@ packages:
resolution: {integrity: sha512-pBm+iFjv9eihcgeJuSUs4c0AuX1QEFdHwP8w1iaWCfDzXdeWZxUBU5HT2bY2S4dvNutcy+A9hYsH7ZLBGtgwDg==}
engines: {node: '>= 18'}
- '@nx/devkit@22.6.1':
- resolution: {integrity: sha512-/mwG9zWY1phsWvMKzP0yZ4pE6aH0kLH31DuCYj4eLbhuUu0STL3xSdjPPzhDHf71R4K3YnuvG97e2qiGDbG5Qw==}
+ '@nx/devkit@23.1.1':
+ resolution: {integrity: sha512-FmBfS1xUkWYvDYH/ysO7gAqGlaRzugLac8SIC+X/p76WBmhM6tJhfRW/BQ8mxOFZoVLmwhIiR8X0dRPKdasFxw==}
peerDependencies:
- nx: '>= 21 <= 23 || ^22.0.0-0'
+ nx: '>= 22 <= 24 || ^23.0.0-0'
- '@nx/js@22.6.1':
- resolution: {integrity: sha512-Ikp2+B5TzO5/2KV/yc1r4zl6Cnaf0cPgJf+YlBrDUpKss6yrY4n5ORArbvEw9E1q2llVhA5C/zRd+mM8eEMmkQ==}
+ '@nx/js@23.1.1':
+ resolution: {integrity: sha512-8YnhKAnSE7lTiiUEoUyO5LBmZiRIqsc/v2qFMAUfbJKr2bAKAB4h+6Lz9ZfbMvRzJH3fcDZVVWVcvU5GXmQhzg==}
peerDependencies:
+ '@swc/cli': '>=0.6.0 <0.9.0'
verdaccio: ^6.0.5
peerDependenciesMeta:
+ '@swc/cli':
+ optional: true
verdaccio:
optional: true
- '@nx/nx-darwin-arm64@22.6.1':
- resolution: {integrity: sha512-lixkEBGFdEsUiqEZg9LIyjfiTv12Sg1Es/yUgrdOQUAZu+5oiUPMoybyBwrvINl+fZw+PLh66jOmB4GSP2aUMQ==}
+ '@nx/nx-darwin-arm64@23.1.1':
+ resolution: {integrity: sha512-Rq/RXLX5uIvJQfb6kuUgEirquT5ARaAgQyNaMZVnOPAL5wuxaDvQag8WX/WUCIgbUKZuGkclJwM7Vlnvtn3bdg==}
cpu: [arm64]
os: [darwin]
- '@nx/nx-darwin-x64@22.6.1':
- resolution: {integrity: sha512-HvgtOtuWnEf0dpfWb05N0ptdFg040YgzsKFhXg6+qaBJg5Hg0e0AXPKaSgh2PCqCIDlKu40YtwVgF7KXxXAGlA==}
+ '@nx/nx-darwin-x64@23.1.1':
+ resolution: {integrity: sha512-doWaPLPd6yUas3FhQJqMAScupCsToeTedK4RRWm700VhHoVdBTN4ejIBRBfoiT/SPAwY6EOHb8uFDJhGo7geMg==}
cpu: [x64]
os: [darwin]
- '@nx/nx-freebsd-x64@22.6.1':
- resolution: {integrity: sha512-g2wUltGX+7/+mdTV5d6ODa0ylrNu/krgb9YdrsbhW6oZeXYm2LeLOAnYqIlL/Kx140NLrb5Kcz7bi7JrBAw4Ow==}
+ '@nx/nx-freebsd-x64@23.1.1':
+ resolution: {integrity: sha512-9rDZKBPGuX8mid11RimJ2ENqDYZpPZhrqTlI9q/VnqcPLq0Bw/8AhqCKhBVlfNqJjbi4OsRQYDK7UkqIlcfThg==}
cpu: [x64]
os: [freebsd]
- '@nx/nx-linux-arm-gnueabihf@22.6.1':
- resolution: {integrity: sha512-TTqisFPAPrj35EihvzotBbajS+0bX++PQggmRVmDmGwSTrpySRJwZnKNHYDqP6s9tigDvkNJOJftK+GkBEFRRA==}
+ '@nx/nx-linux-arm-gnueabihf@23.1.1':
+ resolution: {integrity: sha512-NDR5X2HiD6WU3JEaDJmOLteIGIFqjrjkzoFWrQke2Y1oCRYu+UyFdPeaMVUyAs5OyUx4U+SD+eBQPTCNbWmazA==}
cpu: [arm]
os: [linux]
- '@nx/nx-linux-arm64-gnu@22.6.1':
- resolution: {integrity: sha512-uIkPcanSTIcyh7/6LOoX0YpGO/7GkVhMRgyM9Mg/7ItFjCtRaeuPEPrJESsaNeB5zIVVhI4cXbGrM9NDnagiiw==}
+ '@nx/nx-linux-arm64-gnu@23.1.1':
+ resolution: {integrity: sha512-tWDHJII8+aHweTzHelf5dGM6qGNmHbAPhCc3jrtrM0uE+UD/wt2Dpq7H3086Iyia9M9jGM9sYpuD/6W6WAFAMA==}
cpu: [arm64]
os: [linux]
libc: [glibc]
- '@nx/nx-linux-arm64-musl@22.6.1':
- resolution: {integrity: sha512-eqkG8s/7remiRZ1Lo2zIrFLSNsQ/0x9fAj++CV1nqFE+rfykPQhC48F8pqsq6tUQpI5HqRQEfQgv4CnFNpLR+w==}
+ '@nx/nx-linux-arm64-musl@23.1.1':
+ resolution: {integrity: sha512-t7iVMZ7Cj3LmPcfaYt9KOkojpuC5XRmtZ/0G+NBMA2GuRhCVbzpOgUCob0nQMV2TrTwn5oAWJeDc4xLni+oteg==}
cpu: [arm64]
os: [linux]
libc: [musl]
- '@nx/nx-linux-x64-gnu@22.6.1':
- resolution: {integrity: sha512-6DhSupCcDa6BYzQ48qsMK4LIdIO+y4E+4xuUBkX2YTGOZh58gctELCv7Gi6/FhiC8rzVzM7hDcygOvHCGc30zA==}
+ '@nx/nx-linux-x64-gnu@23.1.1':
+ resolution: {integrity: sha512-stuCayctOt/4AFvxKYgGTPluUc0HW7DcyTz9yeTMl/zj0+FENEr8RCTjInD0Q5qVGzYphma6SssVSh432w5agw==}
cpu: [x64]
os: [linux]
libc: [glibc]
- '@nx/nx-linux-x64-musl@22.6.1':
- resolution: {integrity: sha512-QqtfaBhdfLRKGucpP8RSv7KJ51XRWpfUcXPhkb/1dKP/b9/Z0kpaCgczGHdrAtX9m6haWw+sQXYGxnStZIg/TQ==}
+ '@nx/nx-linux-x64-musl@23.1.1':
+ resolution: {integrity: sha512-cZSUqGV+iHda39W91BNKSysSu6OFfR6M4ViQBcMtbwq3ce19gDr2f23MqGZEQZtaD/eSQ9UNEhx09nhrdYxWDg==}
cpu: [x64]
os: [linux]
libc: [musl]
- '@nx/nx-win32-arm64-msvc@22.6.1':
- resolution: {integrity: sha512-8pTWXphY5IIgY3edZ5SfzP8yPjBqoAxRV5snAYDctF4e0OC1nDOUims70jLesMle8DTSWiHPSfbLVfp2HkU9WQ==}
+ '@nx/nx-win32-arm64-msvc@23.1.1':
+ resolution: {integrity: sha512-iDlYbFHgTYV5lg1ypEt+LAj86o/uyy6vR0ha5pcUs4FqXzQgy14lOeyRod/EZs9Er3DIyJlEi/rpEvaP99/Hag==}
cpu: [arm64]
os: [win32]
- '@nx/nx-win32-x64-msvc@22.6.1':
- resolution: {integrity: sha512-XMYrtsR5O39uNR4fVpFs65rVB09FyLXvUM735r2rO7IUWWHxHWTAgVcc+gqQaAchBPqR9f1q+3u2i1Inub3Cdw==}
+ '@nx/nx-win32-x64-msvc@23.1.1':
+ resolution: {integrity: sha512-UD21AHWJ2PEA+PuANPCt+lj3kYpAzYNq+bm4VCbrt3KZd7zDPas0ns85UIhfrhsNiSmYzjWz2/JDk2S3cA6lGw==}
cpu: [x64]
os: [win32]
- '@nx/workspace@22.6.1':
- resolution: {integrity: sha512-mrvGubfownO/m0CtFvtRwQxQm//UoBRgrT0WCxrQi5tGlgViTYFSDRumhy94EuU00OGiAHNa3yeXWFd72O981A==}
+ '@nx/workspace@23.1.1':
+ resolution: {integrity: sha512-woBDOW9bNcp+I2UEKhV62zc+1/gPCKPkTHZgwCdgoXSlXC3N9soGpnLG5QFy8NLodFC1f+5TSQJqN1tBW5rfIA==}
'@opentelemetry/api@1.9.0':
resolution: {integrity: sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==}
@@ -4092,10 +3923,6 @@ packages:
resolution: {integrity: sha512-53+75QuPl6DL+ct6vVEB51FDO5oulXr20TPV46VvJZg76lIlXNWfxi8j+G2V/t0I2qxCBOa3vX/8bmjrpFVo9g==}
engines: {node: '>=18.0.0'}
- '@smithy/types@4.14.1':
- resolution: {integrity: sha512-59b5HtSVrVR/eYNei3BUj3DCPKD/G7EtDDe7OEJE7i7FtQFugYo6MxbotS8mVJkLNVf8gYaAlEBwwtJ9HzhWSg==}
- engines: {node: '>=18.0.0'}
-
'@smithy/types@4.14.2':
resolution: {integrity: sha512-P+otAxbV4CqBybp7EkcJCrig63yE2E7PuNVOmilVMRcx/O+QDzGULTrKsq4DV13gSfak9ObPrWaHl/9bL5YcWw==}
engines: {node: '>=18.0.0'}
@@ -4276,258 +4103,258 @@ packages:
'@types/react-dom':
optional: true
- '@tiptap/core@3.28.0':
- resolution: {integrity: sha512-gUuD5WAYfbDxNSSJya/emh2KSzXZXLUYKW4fEnc1AQ5FE2twzh4LJ9UlKFIawigrUCAksWI5Fy1hRbv+5m4ZdQ==}
+ '@tiptap/core@3.29.2':
+ resolution: {integrity: sha512-oKUkiPUB7noilVYxI9lNzUD4rX17sHub+PYjMfHMWHG9A3nvIy+FdePIVIIhThKWF7ijhr3eIqHY51Bn+GAFtw==}
peerDependencies:
- '@tiptap/pm': 3.28.0
+ '@tiptap/pm': 3.29.2
- '@tiptap/extension-audio@3.28.0':
- resolution: {integrity: sha512-t2QaBitWf/HcvA1sN0gqeOseoOF05fZtI5Pr+8JUj4HowYVXLQW+yVYaKwGoGnAejQRNuTDJmc4cylVJeKCgJg==}
+ '@tiptap/extension-audio@3.29.2':
+ resolution: {integrity: sha512-awpsK0X+oWVoTDN8ZZQ6DUSSV+sPEQYeq6nbYJuqlmde0NDv9u9chgqOYLN5xOsk26YqCkVuWL40D+6rWkh89Q==}
peerDependencies:
- '@tiptap/core': 3.28.0
+ '@tiptap/core': 3.29.2
- '@tiptap/extension-blockquote@3.28.0':
- resolution: {integrity: sha512-y8Xi6Z3AQLXedz0J8Z3kDsu7SKBmL50gKVXx3RK1Oo1cuCGhNChm3syChkAz3PLAbrPUM5rvJDSZdF2jUrDnng==}
+ '@tiptap/extension-blockquote@3.29.2':
+ resolution: {integrity: sha512-ca4OzKDh0yaxg2+Z56bC2QnWsNsFp2YMRfVig1PDXyMVFMNJpLcnhxgq/9btn+xYAlYrj8RymOeCTYREOR6Zjg==}
peerDependencies:
- '@tiptap/core': 3.28.0
- '@tiptap/pm': 3.28.0
+ '@tiptap/core': 3.29.2
+ '@tiptap/pm': 3.29.2
- '@tiptap/extension-bold@3.28.0':
- resolution: {integrity: sha512-JhZQmr0AU741bOwjVMfuwJdK4g0TQwwPbeca9aqKHv5zvZw4i4G9G6fESVyMFc3Yag1ffpnq5EtNldHKTnMhlw==}
+ '@tiptap/extension-bold@3.29.2':
+ resolution: {integrity: sha512-elYbGxJsYnBb4leqrcjdIJuiG380BcOgN+UUzvOv+qEjfGVzHodFOMBl3qnmD6urYHNu5/qQK2S0qSSRXKCLNQ==}
peerDependencies:
- '@tiptap/core': 3.28.0
+ '@tiptap/core': 3.29.2
- '@tiptap/extension-bubble-menu@3.28.0':
- resolution: {integrity: sha512-7AUNoHj2K4XLKCgW4uspeD/ENejPu2BeHvLTsiOoIO+XXDNSi2j0bbaIS8f2s/qnFirscwp/sbznp1qph/76qg==}
+ '@tiptap/extension-bubble-menu@3.29.2':
+ resolution: {integrity: sha512-kzcWarcpr031rZu+R3Hzut5uxb3Qj/xxMDEYZIQ3uiq1yb5vEMXj8/SIyWautk6Nu8Rr1leV3rGdR4NzhzyFAA==}
peerDependencies:
- '@tiptap/core': 3.28.0
- '@tiptap/pm': 3.28.0
+ '@tiptap/core': 3.29.2
+ '@tiptap/pm': 3.29.2
- '@tiptap/extension-bullet-list@3.28.0':
- resolution: {integrity: sha512-dSVuNiH7PFMmWGkNER9vfUb5bXUHDARvHbJ3l+APEb+ZiusVN1KFdM3nd/RsW/Rt5Gd3XwlIEU/c2Uf7cxYDcw==}
+ '@tiptap/extension-bullet-list@3.29.2':
+ resolution: {integrity: sha512-3bWcCUPbCHv0XttlMdnAtXLNYWx2pblByMgxmGsaP9FU0QnslGXty6A6gHCqI33ygRg1vrA6U5Wtpwbi5aKu5g==}
peerDependencies:
- '@tiptap/extension-list': 3.28.0
+ '@tiptap/extension-list': 3.29.2
- '@tiptap/extension-code-block@3.28.0':
- resolution: {integrity: sha512-bHITDzT0umTLh+SiEVQzIXkCMt/TzbPM1+HQy9ZxgQDHAJj/vdmfNAnP3RCOrz4lETXyhNQ2b6kxeu3lWckxyA==}
+ '@tiptap/extension-code-block@3.29.2':
+ resolution: {integrity: sha512-w153ct8g6dLiPTdXQ6SOIMxX4SEo5Q50AmjdEEEcJ7ZcYUcde/ScSskLHfOYmyt5ZFAiyEwr121+pux+p3/oAQ==}
peerDependencies:
- '@tiptap/core': 3.28.0
- '@tiptap/pm': 3.28.0
+ '@tiptap/core': 3.29.2
+ '@tiptap/pm': 3.29.2
- '@tiptap/extension-code@3.28.0':
- resolution: {integrity: sha512-AUw2Acof3CQE6Q6Y22saK4lyg0nkeJ4XXniU65TdAi/9TE66TGiO4NQJJNNPgu8+VMEwl5j8VsIFK8sfTcNYtg==}
+ '@tiptap/extension-code@3.29.2':
+ resolution: {integrity: sha512-c6W5UGuB7WNLpYocsgRzpO2OOTI4QjaI9jjHRMuty9z+s9DtaYM/HrRLNwVh6MopkHb+i/89Wkv8gCS34fftig==}
peerDependencies:
- '@tiptap/core': 3.28.0
+ '@tiptap/core': 3.29.2
- '@tiptap/extension-collaboration-caret@3.28.0':
- resolution: {integrity: sha512-n8QsBexKjhXCjpreYdOo4XFl/DBKP+3RKzwTNjHv9g8Wic/ir0Eep07joJp2343ZDtK5GDCFNZQu3PA4bHEgCA==}
+ '@tiptap/extension-collaboration-caret@3.29.2':
+ resolution: {integrity: sha512-Mjq4RRgN4rCn+HAkX2lEH7PcY1vnKf4qQetn7Y+7q15IwM/UXStbmhT3YW49AoIWMrA2FApyYlu1dtXGefIa2w==}
peerDependencies:
- '@tiptap/core': 3.28.0
- '@tiptap/pm': 3.28.0
+ '@tiptap/core': 3.29.2
+ '@tiptap/pm': 3.29.2
'@tiptap/y-tiptap': ^3.0.7
- '@tiptap/extension-collaboration@3.28.0':
- resolution: {integrity: sha512-4RUyRPhieqPD7fvCeniIE0QBSwb1exOWJlYvF8s8wWTwc5uywa95gUhRbnHwgTReeG0WW+177eFSEr9xZaUseg==}
+ '@tiptap/extension-collaboration@3.29.2':
+ resolution: {integrity: sha512-KVKwIofMzraf0MxCXUkYd6fNmz0oGKaHDkjhNT6HGHrVzTFDJlZTwHHwSndQS2xKGmZbhWe8C32hvUrFsZXTPw==}
peerDependencies:
- '@tiptap/core': 3.28.0
- '@tiptap/pm': 3.28.0
+ '@tiptap/core': 3.29.2
+ '@tiptap/pm': 3.29.2
'@tiptap/y-tiptap': ^3.0.7
yjs: ^13
- '@tiptap/extension-color@3.28.0':
- resolution: {integrity: sha512-YbUMUdrgU04GDYoii1wuFVkiTSQoaEQh04kwgQayEQ46aUBEnnaJitWdp39aGMWYTIXD/c9K9cr5Vg8GSKcVxA==}
+ '@tiptap/extension-color@3.29.2':
+ resolution: {integrity: sha512-DMeyDRGZXIe2m2/QlrBoN15R4Ufwz3ERiG//OM7bjcYpiTZiO+pLC6tyabI1+QcJrYUGTu5zVah583xXzt89Kw==}
peerDependencies:
- '@tiptap/extension-text-style': 3.28.0
+ '@tiptap/extension-text-style': 3.29.2
- '@tiptap/extension-document@3.28.0':
- resolution: {integrity: sha512-5SAKtlB1Tr/eZFhISL86HqmUup6rItvPtuPyRjmZo/VgbMwXEwiyAh1sMgFp5VNaeSMM14vJSyQpjhSaOmaBqg==}
+ '@tiptap/extension-document@3.29.2':
+ resolution: {integrity: sha512-YUamvefLnsqu6124GavVTI7nqcFlQJ12ROB0oSwG69eSBZYNjg1tIs05LFrBxkwf4Xgqd6YzfJ9+FeG428RvzQ==}
peerDependencies:
- '@tiptap/core': 3.28.0
+ '@tiptap/core': 3.29.2
- '@tiptap/extension-dropcursor@3.28.0':
- resolution: {integrity: sha512-JA+dXQjjfJBpD0nVsZeddGVXRsmanESM9+8CtM35hI9wJnYMXay/B+5GUhswO20zhT3zhB2ZOTGe9knu6A8nIQ==}
+ '@tiptap/extension-dropcursor@3.29.2':
+ resolution: {integrity: sha512-KKno7cU9r1HdR48CRrsDu69/1UjZdoslq/UcE+Kx+tdhAv/aljXMkRSNzGMrBNOBDmHRgS1+58zm21WQWdQzwA==}
peerDependencies:
- '@tiptap/extensions': 3.28.0
+ '@tiptap/extensions': 3.29.2
- '@tiptap/extension-floating-menu@3.28.0':
- resolution: {integrity: sha512-59SECvJq3pQfeJBuydEdhQqrpl0oDlk8N1Ovs1Si3/fJa6rEQAJB2zIvcpBHky9Z+5JodI2eueDnv8eimiyGbg==}
+ '@tiptap/extension-floating-menu@3.29.2':
+ resolution: {integrity: sha512-CBTq4Xs5aGWr65uFCIkKBms796OhmirWf/ax//iJ4fl9IfwqjwFuc2vQs9PmuwpKn9ctDHo2sMTtvyeCvIt5LQ==}
peerDependencies:
'@floating-ui/dom': ^1.0.0
- '@tiptap/core': 3.28.0
- '@tiptap/pm': 3.28.0
+ '@tiptap/core': 3.29.2
+ '@tiptap/pm': 3.29.2
- '@tiptap/extension-gapcursor@3.28.0':
- resolution: {integrity: sha512-Wo73kM4q8z4Va9i4+0n1cO0UEMVUVBHPqM6cAqEYXjB4T48LQkKjRsiQydCezm185rQAsmm1dyi72gtvVQfdMg==}
+ '@tiptap/extension-gapcursor@3.29.2':
+ resolution: {integrity: sha512-8Q39UR4/Tit759IeW9xZIe3NMwN11GsuA3FLheDyyGn7RrW02HD3HhUDlazE54Ki4HoosjFmChPlN4Ik2ubdRQ==}
peerDependencies:
- '@tiptap/extensions': 3.28.0
+ '@tiptap/extensions': 3.29.2
- '@tiptap/extension-hard-break@3.28.0':
- resolution: {integrity: sha512-JHIFjX1luJgQ4VFEkIeXZpbc54Qiw+69P8FmlazYTh7AIJ6iLCpMFgQFELnivEAZ+/vS0lMPQubg0rCeM3UrHw==}
+ '@tiptap/extension-hard-break@3.29.2':
+ resolution: {integrity: sha512-eUW3LN3fq8rXnjEUeI3D2QONYdLsU3yYQm4jxlErs2h4cfwrFjgf19VSUFVmm6LrFbbQ0OnDVPeVLL6iOwDw2w==}
peerDependencies:
- '@tiptap/core': 3.28.0
+ '@tiptap/core': 3.29.2
- '@tiptap/extension-heading@3.28.0':
- resolution: {integrity: sha512-rKjGG/Ik2lNaXBNVmONEDm5DBfGDLM1NWgSf5RRfBISrH8Lm1xqFruOB9tIaB0YUoSV3SBOiwTF9svmzvKSoRA==}
+ '@tiptap/extension-heading@3.29.2':
+ resolution: {integrity: sha512-6W4aIy70Mh7BNlbG9zZ5FBLhJhU2UUEzgZJ/jwYSCcB30o8McLxJSEjhtoHiX8R78Ah2/JzBGvIe5olZlbeE4A==}
peerDependencies:
- '@tiptap/core': 3.28.0
+ '@tiptap/core': 3.29.2
- '@tiptap/extension-highlight@3.28.0':
- resolution: {integrity: sha512-T8uvQ1aZs+u496XxycMk5zAIwA0DxN+SCdSAFWCU7bqCAen3ulzOsk6RXJ+Jx40GqTV/ShPyIcEuaJVNurXxbg==}
+ '@tiptap/extension-highlight@3.29.2':
+ resolution: {integrity: sha512-bSeZ1C8OlthyK7BzgtqOGfQymdap9V38W2hbr9KGlhVOIAmTqneOwjm27iFcu7jKqkMArVu6WBYN18Lom6umHQ==}
peerDependencies:
- '@tiptap/core': 3.28.0
+ '@tiptap/core': 3.29.2
- '@tiptap/extension-history@3.28.0':
- resolution: {integrity: sha512-ScmXXDuBvRdsYW9S6P11+uHvq73fQtCpRhCCK8Vysmqb+IUGIF+RzljEX3haXHZ61wh+XIqOxSedQAyjA2bcXA==}
+ '@tiptap/extension-history@3.29.2':
+ resolution: {integrity: sha512-AMpvoJxz/gqTMAiUo2LOujR44FoICe9ADaSTJMMV+mc+GxAw3YF3Q6frxIKRZkMGMHYDnHLFei7J2fLvCa4ecA==}
peerDependencies:
- '@tiptap/extensions': 3.28.0
+ '@tiptap/extensions': 3.29.2
- '@tiptap/extension-horizontal-rule@3.28.0':
- resolution: {integrity: sha512-neBCMWprkppQUoLWyeJZDHqBw+xKX2oNhLD9MbFlhKIr092zgfP4mpCvQnSkn1OHl156KzZMp070+NyLBjgQ7A==}
+ '@tiptap/extension-horizontal-rule@3.29.2':
+ resolution: {integrity: sha512-8/ZPzbB9X85Mc9/7xVLZupQKBr2UVcQTGr512xtqMW+XkCQRHCph46tRo828YE13IMWI5fWn/FaNCqXG9cULSw==}
peerDependencies:
- '@tiptap/core': 3.28.0
- '@tiptap/pm': 3.28.0
+ '@tiptap/core': 3.29.2
+ '@tiptap/pm': 3.29.2
- '@tiptap/extension-image@3.28.0':
- resolution: {integrity: sha512-aKGCdEjyujUcQ6tEtq4EPbKxEC16QsKapv3DeZs1c/UHFiEUalbbPHBnxjGnupiLz75IR+07GYqBoZ81kSCxiA==}
+ '@tiptap/extension-image@3.29.2':
+ resolution: {integrity: sha512-F+S4iru247mNVZdkNwNDZHeb281DkjsBJinaOGsOyJTvXY+KU5Uq7vY1LQTn493dTfU48Z0yMBUXwJffCT92Mg==}
peerDependencies:
- '@tiptap/core': 3.28.0
+ '@tiptap/core': 3.29.2
- '@tiptap/extension-italic@3.28.0':
- resolution: {integrity: sha512-Yur/ELz6dNVKQC7m8wGjtoLFxamGjJmA0rUEEOacTH6J39aFmcSxYkEGNDkYHbZFyHFYqbej6eI3VE0h08O0mg==}
+ '@tiptap/extension-italic@3.29.2':
+ resolution: {integrity: sha512-iH63V/5wsaMnY4Jz0+meaAGhaec4AiOzOduzl6ZZr5IyGhZ1kthyW84ELt0dyLI3hNceAUhaNWc+I7+vX0aoXA==}
peerDependencies:
- '@tiptap/core': 3.28.0
+ '@tiptap/core': 3.29.2
- '@tiptap/extension-link@3.28.0':
- resolution: {integrity: sha512-hy/PqSeTyl317yseFcHGE+3XVfQKQYaL4uZuj27xlrcO7MZ15drt1h9sUZy1FTBF3mr8676pQu7aoEm/Ww4ZRA==}
+ '@tiptap/extension-link@3.29.2':
+ resolution: {integrity: sha512-DcVer5SqrexKCEP6Ip1UPxJUMvcRCCItSv0wxoGytanrimBh2smvcg6X0DWnjlsi5H0updhyl+atYCmmQXUIXA==}
peerDependencies:
- '@tiptap/core': 3.28.0
- '@tiptap/pm': 3.28.0
+ '@tiptap/core': 3.29.2
+ '@tiptap/pm': 3.29.2
- '@tiptap/extension-list-item@3.28.0':
- resolution: {integrity: sha512-GbXrnMac6knSetZY33NHwOrgXFPqH28uCklQqmOZQlsrdGqezDKk31qoEMr4GsKW9n/lViAeuc07oIzwLwCMng==}
+ '@tiptap/extension-list-item@3.29.2':
+ resolution: {integrity: sha512-s8vBVHHFT0Qpu7CzAZ7S1kYmSiVaDvUNvMNcZUWnxj6VPfiwmx0eXd9FsjePrRCMoM5tFmPnhFTHDxY3D/eZeQ==}
peerDependencies:
- '@tiptap/extension-list': 3.28.0
+ '@tiptap/extension-list': 3.29.2
- '@tiptap/extension-list-keymap@3.28.0':
- resolution: {integrity: sha512-u9Wks8c/eQAv0RkULNggOyTKDD69WVbcV9H5cbasPDUbq5XbEFVa9ajxhEGfMmQ5et3EX0QL8qBi50K0GqbIjA==}
+ '@tiptap/extension-list-keymap@3.29.2':
+ resolution: {integrity: sha512-R+3k8OLnxdCH7Xy9ieOwUt5m2Je74u8mikothGmsYVO2Zyq48fIbmZ+X6RBPCu7DBOI2FIUhHEFbKQeDWvDNmA==}
peerDependencies:
- '@tiptap/extension-list': 3.28.0
+ '@tiptap/extension-list': 3.29.2
- '@tiptap/extension-list@3.28.0':
- resolution: {integrity: sha512-zQ66i5DuhVOndmZ0d7H475Y5Yb+BMx+zfCjFkCzEc6WVef5MumtxBVTkGLQ0ibxUaD71s4QQZbjHWagpaTg0eQ==}
+ '@tiptap/extension-list@3.29.2':
+ resolution: {integrity: sha512-WPZ9BHAPT6QeIm1vdVkuoOWvy9a8/EZeJwV2VhU8LXyTAttvzyj4rsbbHyJWvYWlUSTt/QF2AZ2zhKo7u1w3/A==}
peerDependencies:
- '@tiptap/core': 3.28.0
- '@tiptap/pm': 3.28.0
+ '@tiptap/core': 3.29.2
+ '@tiptap/pm': 3.29.2
- '@tiptap/extension-ordered-list@3.28.0':
- resolution: {integrity: sha512-OZNYrKKL9D01ySOujlNbKlLS9/3wGgKNYeoHZUg0e+Ta8WPVvL3W1zH6TgiU5sF2ZSGUBoq3w7mdaO/iROlUkw==}
+ '@tiptap/extension-ordered-list@3.29.2':
+ resolution: {integrity: sha512-ndCunC+UsYOpkOtL7vGnDz21UNa45WUlcO9wMT1fbuYow2QnRhsuMlCWENXI52YPPARWuQ0RDgN7q6TaxPERBg==}
peerDependencies:
- '@tiptap/extension-list': 3.28.0
+ '@tiptap/extension-list': 3.29.2
- '@tiptap/extension-paragraph@3.28.0':
- resolution: {integrity: sha512-8UMlQIjzqf6r2hSJ/VeJ00RqaOrOB1J5rTk02Vcw2pYeHkOqp+B0ff0HFu4abT9x1q4oXrBAgMsxRtgh/kR14Q==}
+ '@tiptap/extension-paragraph@3.29.2':
+ resolution: {integrity: sha512-7qJj5YTr11vvjNgjDN1ypOfwTovc0QOCYcit/rskeuVgnmQZOZQzC/BbyKLLG7UGnpRLemU/mEGbW9pAqjAXkQ==}
peerDependencies:
- '@tiptap/core': 3.28.0
+ '@tiptap/core': 3.29.2
- '@tiptap/extension-placeholder@3.28.0':
- resolution: {integrity: sha512-zueiqNeCHOshDa8dGGSa/0cOBZkMjPrxQhemjF4tj2yZ6EeWHBPtCE5h/uQCagEePxsoaJtvaCRh88199zrgBw==}
+ '@tiptap/extension-placeholder@3.29.2':
+ resolution: {integrity: sha512-/BlpPIq2JZk6zLaeYVOXazi6dmd0iRriTymNEnFn1doManN1y5HED9LsMeb/AhNhauL5AgmcHgpvAjbsN9k4SA==}
peerDependencies:
- '@tiptap/extensions': 3.28.0
+ '@tiptap/extensions': 3.29.2
- '@tiptap/extension-strike@3.28.0':
- resolution: {integrity: sha512-VVj2ZZU9QYqiHLcjqMqRYvuHSsokj/AgUl+6TzLrKjlWwyZ18D4H2vkyI0g70iVTKnUpZ3sEy8WA/rqjgBjqBg==}
+ '@tiptap/extension-strike@3.29.2':
+ resolution: {integrity: sha512-aEvLAbddUQZ+FukCreV3q4G2HfNI+odE7E9U+wbq6XsSWKyo8/pDu1muz+TFKNre4blSMOQ3JQmw5UeHDKy+fg==}
peerDependencies:
- '@tiptap/core': 3.28.0
+ '@tiptap/core': 3.29.2
- '@tiptap/extension-subscript@3.28.0':
- resolution: {integrity: sha512-lHROuWtzuMv3V4Q11j43Grqci5t0BAMbzIFinPyDSwxDfOCdpj0AwUS+TNNmi4sxZ49QwOXm/vzVMSSi2ChO5g==}
+ '@tiptap/extension-subscript@3.29.2':
+ resolution: {integrity: sha512-3fpp1B2kZWBfmVYZ1ak3yFWiKR3eV9GR/vYGPDMrkZoTdG9LKylRAJs3Fk2gDgTtOPmbrtilGQjl2o55RuoGxw==}
peerDependencies:
- '@tiptap/core': 3.28.0
- '@tiptap/pm': 3.28.0
+ '@tiptap/core': 3.29.2
+ '@tiptap/pm': 3.29.2
- '@tiptap/extension-superscript@3.28.0':
- resolution: {integrity: sha512-19MWwQIoREjZsEQ7fa/6DUMx15GKZ+iPkOcSdm/PE2rKiDXhec0acWPZTZgH5dluW9GJOMilk7Xl7U8oBNGfjQ==}
+ '@tiptap/extension-superscript@3.29.2':
+ resolution: {integrity: sha512-/bPgdY7zUHtvToHizvzR6Yf4uIWO35cKj9EZsl/vyFb2mXyJ3a2mysCZgZq+5uvhZS/16eNNKOcezlkayhhkMA==}
peerDependencies:
- '@tiptap/core': 3.28.0
- '@tiptap/pm': 3.28.0
+ '@tiptap/core': 3.29.2
+ '@tiptap/pm': 3.29.2
- '@tiptap/extension-table@3.28.0':
- resolution: {integrity: sha512-SX2Uwn/bFyrqjbBo2Hg9wfLT/ofByHm4f80BuG0h5/m89Ve78CgtaK2lGz9jHZRM7rKTG6eqel+PUZQUwcSzOg==}
+ '@tiptap/extension-table@3.29.2':
+ resolution: {integrity: sha512-HY3JWD8i/F8W1oWw56DMqEMqxScIAZFRrhL3rUwiuowHG8LLDqDdQjBV3w1DY8lUZOtNY9grpuMtGlPUFrOVAA==}
peerDependencies:
- '@tiptap/core': 3.28.0
- '@tiptap/pm': 3.28.0
+ '@tiptap/core': 3.29.2
+ '@tiptap/pm': 3.29.2
- '@tiptap/extension-text-align@3.28.0':
- resolution: {integrity: sha512-P+KQMTtCpLFq9dRvy/fbyu2BGALulT/1HtsLbpFG4tKATaKa+cFnJ7rLZF7b3AdAMDNtXdnivxAtixAMBt2QWw==}
+ '@tiptap/extension-text-align@3.29.2':
+ resolution: {integrity: sha512-205FF87zjUEh79n6dgVy9SMj1P+rNserHMqPd8lF7YS2TOWikXPG4PFuQHWXXCYzaCvQXAiATSAyPXXmUWUvaQ==}
peerDependencies:
- '@tiptap/core': 3.28.0
+ '@tiptap/core': 3.29.2
- '@tiptap/extension-text-style@3.28.0':
- resolution: {integrity: sha512-UreMyqZSv770+CXJK/l1qeHUdaNMQAVkxSOPWpiY9FiT8B4OQyjA7WBOlWrzbvVTzfJvXWk2Y3SWgVRx+/Cd9A==}
+ '@tiptap/extension-text-style@3.29.2':
+ resolution: {integrity: sha512-aQad9V9ROaEi3hE4g5z9wQ6lv5FSnzlnWFMVJxRjNlwXgm7H0fymxb4rGfca+pAwYkiRwpKYh1LatpJw2ECQAA==}
peerDependencies:
- '@tiptap/core': 3.28.0
+ '@tiptap/core': 3.29.2
- '@tiptap/extension-text@3.28.0':
- resolution: {integrity: sha512-Jqp1LgfY1mnp4TQHoy+vnHyfn6qnnAM6nHgGwbY5zA8b/Xf1Etll6pziTx9p1J1qcfAgSrnjOyAmA++H7VQqww==}
+ '@tiptap/extension-text@3.29.2':
+ resolution: {integrity: sha512-Ubko45JWWHe8glBt2PiGNF8hcbys/JNalFhiR7Y1X4iOOtAxAKJJxh3+eq+//NTlGuBPdWGp7zw8EEUp7anjKA==}
peerDependencies:
- '@tiptap/core': 3.28.0
+ '@tiptap/core': 3.29.2
- '@tiptap/extension-typography@3.28.0':
- resolution: {integrity: sha512-6iwxXqtT6HuFv9LYrpT7YV6TpIauWBXCGGs3liHPrY4P7aMwpRmC3QTbgq655PMpjV8xMT6S2Wa6cQi2CNrXmQ==}
+ '@tiptap/extension-typography@3.29.2':
+ resolution: {integrity: sha512-FqgDa9kDfytbh3cSngbU1O9GSYBZQKazqePqJQL6TpjNtt4l9MdnKMZwOSMVsCPJEdFwqymRfE6O7Wtl2bTnZQ==}
peerDependencies:
- '@tiptap/core': 3.28.0
+ '@tiptap/core': 3.29.2
- '@tiptap/extension-underline@3.28.0':
- resolution: {integrity: sha512-rwxCS6vTh2DJkNIYQX7JSrrRSmm76e2y48aZeuZO5ShkvLWMuJ3/zqDHRxAQVDiJhuE2Cp8NrTmPYlUc9YrT0A==}
+ '@tiptap/extension-underline@3.29.2':
+ resolution: {integrity: sha512-K7XwH/xS/5AIREWQ00VTEf/W5U0olp7j6wwit7cdd/8nHv6h6AGr1+iEApHKoLXWQZLfGQKzJlT9W61LAl+fHA==}
peerDependencies:
- '@tiptap/core': 3.28.0
+ '@tiptap/core': 3.29.2
- '@tiptap/extension-unique-id@3.28.0':
- resolution: {integrity: sha512-fVPBul1b0SH9C7T/gehLotKLRBVJgp5PiDQbvcw2iom37Y8cPNV5yKTAGKIHOb1BxRF6IzEnkQKxUAJiJnqv3g==}
+ '@tiptap/extension-unique-id@3.29.2':
+ resolution: {integrity: sha512-PboSI7+dxqcAJiWQatPOy70Qzju7eIBqQb+m4Bre9jLpH9KYbEXx+oAWSj3MVCPh0qk0GiHQ8nCQhOPqdEs1Dg==}
peerDependencies:
- '@tiptap/core': 3.28.0
- '@tiptap/pm': 3.28.0
+ '@tiptap/core': 3.29.2
+ '@tiptap/pm': 3.29.2
- '@tiptap/extension-youtube@3.28.0':
- resolution: {integrity: sha512-87J7YcUmdti7DQjy5CGjRwb+K3ibX36nGlC3XrU/b2ef6snEBCnXwhqtRgofhL10RH/HJ1D1ndnQ5fWkcAQ4MQ==}
+ '@tiptap/extension-youtube@3.29.2':
+ resolution: {integrity: sha512-uROfBCyb0BIY0qxm2FdOAGFYpye7frZAPtfY80lKUB9uUdjJuDTs7cRBvPcnaa8+fOTNwC5wUOMhbPQmOUiLSA==}
peerDependencies:
- '@tiptap/core': 3.28.0
+ '@tiptap/core': 3.29.2
- '@tiptap/extensions@3.28.0':
- resolution: {integrity: sha512-DJT1khCK+O/pT1gQlAnoKAx6zwDkgv7GtnhSfkqm1/4KHC3x+SSJnBIgBl9oGHymA+DxWbW1EULU4V3d/kT2uQ==}
+ '@tiptap/extensions@3.29.2':
+ resolution: {integrity: sha512-BCz+FCAChSYtUe4BFj97HEO+nSK+J7GxbJgZG4Hg7DT/gI+hRyeNndU8efiQAx3WGdzsFi3UxRpcF1tTQM7iMQ==}
peerDependencies:
- '@tiptap/core': 3.28.0
- '@tiptap/pm': 3.28.0
+ '@tiptap/core': 3.29.2
+ '@tiptap/pm': 3.29.2
- '@tiptap/html@3.28.0':
- resolution: {integrity: sha512-AnLu6ChKjJt90bjLHi5CqgCVJzjI0ipheDGVUMvJD4QIY0nG8FBchrFx2ARUn2Ktk2qjXdTFQ2YcYuZWB2MmOA==}
+ '@tiptap/html@3.29.2':
+ resolution: {integrity: sha512-hgl2JscI407BxcJG/PUMgyrvW5jNz40wtsZNHiYuVPNYzhSAuC4kFFa7dK7MegZ7OnkDppRy30cr9q5hdAtfqA==}
peerDependencies:
- '@tiptap/core': 3.28.0
- '@tiptap/pm': 3.28.0
+ '@tiptap/core': 3.29.2
+ '@tiptap/pm': 3.29.2
happy-dom: ^20.8.9
- '@tiptap/pm@3.28.0':
- resolution: {integrity: sha512-ALcpwZMUdat9gjJKlpscpoqXStoLhU246LPEVBDvJdIsoUKvUu3MrzfXik2Y8mtSGfhjtm9O2TRkWxQiFVMwsQ==}
+ '@tiptap/pm@3.29.2':
+ resolution: {integrity: sha512-GCOme7xHaS+DSoaA4CDcAD3l6JyBlvZhvCyfsy2Vp6j8tEoBkZWio7soYVosmlyn7zq8/64VeFZP5s47yfG7fQ==}
- '@tiptap/react@3.28.0':
- resolution: {integrity: sha512-BxzSAqaDEldQ97K/v6+GizU1/Dxx9VWkRh7PLQql6bXlAMiz6T1G3dGt25vvv1hQ1FoMt5ExWY5NkrPmR8G8ew==}
+ '@tiptap/react@3.29.2':
+ resolution: {integrity: sha512-ZMKgteYmZXnq7C22U9fbCTC6jAF8XlQM5n2K2FLWCdYAlP4FNV3XeQ9hY2a13KSQ0Q3yltWXZlcWBpt5ClxScg==}
peerDependencies:
- '@tiptap/core': 3.28.0
- '@tiptap/pm': 3.28.0
+ '@tiptap/core': 3.29.2
+ '@tiptap/pm': 3.29.2
'@types/react': ^17.0.0 || ^18.0.0 || ^19.0.0
'@types/react-dom': ^17.0.0 || ^18.0.0 || ^19.0.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@3.28.0':
- resolution: {integrity: sha512-pqvFpValV+ONtlu3l4s73ROm/tEjoGMmt6uHmSJaLbqTcMHkdWuR3flJ/5brr4IDHe1foxmNicMbRxlje7yBYw==}
+ '@tiptap/starter-kit@3.29.2':
+ resolution: {integrity: sha512-oTu0tysiqk4zgjEtxRHjAQgxUKaAevZwueOWwSWubHdokqp7SpcbE5n9USJv89HKuTUDm3GjnQH6q8HNn/2DsA==}
- '@tiptap/suggestion@3.28.0':
- resolution: {integrity: sha512-24k0CvvazBeHAK2+WrV1n0uDBZBHNbDAq1K8b5KkWSxcAU7zSCytmApS1u7clRW5wg2xKNBdDhNhvk7KSm1kIA==}
+ '@tiptap/suggestion@3.29.2':
+ resolution: {integrity: sha512-ZEhRm0gnRCwCScR9IrnIBhm9sr6U8vpR9oeznYk3hiedZ48zsgohqvgoIYpWcwYWrT2Pb0NrfhCT8IuSzdJHzQ==}
peerDependencies:
'@floating-ui/dom': ^1.0.0
- '@tiptap/core': 3.28.0
- '@tiptap/pm': 3.28.0
+ '@tiptap/core': 3.29.2
+ '@tiptap/pm': 3.29.2
'@tiptap/y-tiptap@3.0.7':
resolution: {integrity: sha512-3VG01F7i2JDghWsBZSBKi7ypMiN5UVVSyD18IwoXx7ilm0ZynrTS+XNpmgxfuiSBjdauWk7tUlP04xfM8Bw4Vw==}
@@ -4558,8 +4385,8 @@ packages:
'@tsconfig/node16@1.0.4':
resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==}
- '@tybys/wasm-util@0.10.1':
- resolution: {integrity: sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==}
+ '@turbopuffer/turbopuffer@2.8.0':
+ resolution: {integrity: sha512-lurmVByLynuWtPtVl7SBEJ0bNakb8bs4KsafKzeLWnXA6BsQiGS9obT/7ExQVb9/yecyRn/grj8VgwUzi2xMyg==}
'@tybys/wasm-util@0.10.2':
resolution: {integrity: sha512-RoBvJ2X0wuKlWFIjrwffGw1IqZHKQqzIchKaadZZfnNpsAYp2mM0h36JtPCjNDAHGgYez/15uMBpfGwchhiMgg==}
@@ -4600,9 +4427,6 @@ 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/cookiejar@2.1.5':
resolution: {integrity: sha512-he+DHOWReW0nghN24E1WUqM0efK4kI9oTqDm6XmK8ZPe2djZ90BSNdGnIyCLzCPw7/pogPlGbzI2wHGGmi4O/Q==}
@@ -4717,18 +4541,12 @@ packages:
'@types/eslint@8.56.10':
resolution: {integrity: sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==}
- '@types/estree@1.0.8':
- resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==}
-
'@types/estree@1.0.9':
resolution: {integrity: sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==}
'@types/express-serve-static-core@4.17.43':
resolution: {integrity: sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg==}
- '@types/express@4.17.21':
- resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==}
-
'@types/express@4.17.23':
resolution: {integrity: sha512-Crp6WY9aTYP3qPi2wGDo9iUe/rceX01UMhnF1jmwDcKCFM6cx7YhGP/Mpr3y9AASpfHixIG0E6azCcL5OcDHsQ==}
@@ -4771,9 +4589,6 @@ packages:
'@types/jsonwebtoken@9.0.10':
resolution: {integrity: sha512-asx5hIG9Qmf/1oStypjanR7iKTv0gXQ1Ov/jfrX6kS/EO0OFni8orbmGCn0672NHR3kXHwpAwR+B368ZGN/2rA==}
- '@types/jsonwebtoken@9.0.6':
- resolution: {integrity: sha512-/5hndP5dCjloafCXns6SZyESp3Ldq7YjH3zwzwczYnjxIT0Fqzk5ROSYVGfFyczIue7IUEj8hkvLbPoLQ18vQw==}
-
'@types/katex@0.16.8':
resolution: {integrity: sha512-trgaNyfU+Xh2Tc+ABIb44a5AYUpicB3uwirOioeOkNPPbmgRNtcWyDeeFRzjPZENO9Vq8gvVqfhaaXWLlevVwg==}
@@ -4822,9 +4637,6 @@ packages:
'@types/passport-strategy@0.2.38':
resolution: {integrity: sha512-GC6eMqqojOooq993Tmnmp7AUTbbQSgilyvpCYQjT+H6JfG/g6RGc7nXEniZlp0zyKJ0WUdOiZWLBZft9Yug1uA==}
- '@types/passport@1.0.16':
- resolution: {integrity: sha512-FD0qD5hbPWQzaM0wHUnJ/T0BBCJBxCeemtnCwc/ThhTg3x9jfrAcRUmj5Dopza+MfFS9acTe3wk7rcVnRIp/0A==}
-
'@types/passport@1.0.17':
resolution: {integrity: sha512-aciLyx+wDwT2t2/kJGJR2AEeBz0nJU4WuRX04Wu9Dqc5lSUtwu0WERPHYsLhF9PtseiAMPBGNUOtFjxZ56prsg==}
@@ -4834,9 +4646,6 @@ packages:
'@types/qs@6.14.0':
resolution: {integrity: sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==}
- '@types/qs@6.9.14':
- resolution: {integrity: sha512-5khscbd3SwWMhFqylJBLQ0zIu7c1K6Vz0uBIt915BI3zV0q1nfjRQD3RqSBcPaO6PHEF4ov/t9y89fSiyThlPA==}
-
'@types/range-parser@1.2.7':
resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==}
@@ -5192,10 +5001,6 @@ packages:
'@yarnpkg/lockfile@1.1.0':
resolution: {integrity: sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==}
- '@yarnpkg/parsers@3.0.2':
- resolution: {integrity: sha512-/HcYgtUSiJiot/XWGLOlGxPYUG65+/31V8oqk17vZLW1xlCoR4PampyePljOxY2n8/3jz9+tIFzICsyGujJZoA==}
- engines: {node: '>=18.12.0'}
-
'@zkochan/js-yaml@0.0.7':
resolution: {integrity: sha512-nrUSn7hzt7J6JWgWGz78ZYI8wj+gdIJdk0Ynjpp8l+trkn58Uqsf6RYrYkEK+3X18EX+TNdtJI0WxAtc+L84SQ==}
hasBin: true
@@ -5226,19 +5031,14 @@ packages:
resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==}
engines: {node: '>=0.4.0'}
- acorn@8.15.0:
- resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==}
- engines: {node: '>=0.4.0'}
- hasBin: true
-
acorn@8.16.0:
resolution: {integrity: sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==}
engines: {node: '>=0.4.0'}
hasBin: true
- address@1.2.2:
- resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==}
- engines: {node: '>= 10.0.0'}
+ address@2.0.3:
+ resolution: {integrity: sha512-XNAb/a6TCqou+TufU8/u11HCu9x1gYvOoxLwtlXgIqmkrYQADVv6ljyW2zwiPhHz9R1gItAWpuDrdJMmrOBFEA==}
+ engines: {node: '>= 16.0.0'}
agent-base@6.0.2:
resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==}
@@ -5263,7 +5063,7 @@ packages:
ajv-formats@2.1.1:
resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==}
peerDependencies:
- ajv: 8.18.0
+ ajv: ^8.0.0
peerDependenciesMeta:
ajv:
optional: true
@@ -5271,7 +5071,7 @@ packages:
ajv-formats@3.0.1:
resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==}
peerDependencies:
- ajv: 8.18.0
+ ajv: ^8.0.0
peerDependenciesMeta:
ajv:
optional: true
@@ -5279,12 +5079,12 @@ packages:
ajv-keywords@3.5.2:
resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==}
peerDependencies:
- ajv: 6.14.0
+ ajv: ^6.9.1
ajv-keywords@5.1.0:
resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==}
peerDependencies:
- ajv: 8.18.0
+ ajv: ^8.8.2
ajv@6.14.0:
resolution: {integrity: sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==}
@@ -5310,6 +5110,10 @@ packages:
resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
engines: {node: '>=8'}
+ ansi-regex@6.2.2:
+ resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==}
+ engines: {node: '>=12'}
+
ansi-styles@4.3.0:
resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
engines: {node: '>=8'}
@@ -5318,6 +5122,10 @@ packages:
resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==}
engines: {node: '>=10'}
+ ansi-styles@6.2.3:
+ resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==}
+ engines: {node: '>=12'}
+
ansis@4.2.0:
resolution: {integrity: sha512-HqZ5rWlFjGiV0tDm3UxxgNRqsOTniqoKZu0pIAfh7TZQMGuZK+hH0drySty0si0QXj1ieop4+SkSfPZBPPkHig==}
engines: {node: '>=14'}
@@ -5387,9 +5195,6 @@ packages:
async-mutex@0.5.0:
resolution: {integrity: sha512-1A94B18jkJ3DYq284ohPxoXbfTA5HsQ7/Mf4DEhcyLx3Bz27Rh59iScbB6EPiP+B+joue6YCxcMXSbFC1tZKwA==}
- async@3.2.5:
- resolution: {integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==}
-
asynckit@0.4.0:
resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
@@ -5414,12 +5219,12 @@ packages:
resolution: {integrity: sha512-gRpauEU2KRrCox5Z296aeVHR4jQ98BCnu0IO332D/xpHNOsIH/bgSRk9k6GbKIbBw8vFeN6ctuu6tV8WOyVfYQ==}
engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.11.0 || ^8.0.0-0
babel-plugin-const-enum@1.2.0:
resolution: {integrity: sha512-o1m/6iyyFnp9MRsK1dHF3bneqyf3AlM2q3A/YbgQr2pCat6B6XJVDv2TXqzfY2RYUi4mak6WAksSBPlyYGx9dg==}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0-0
babel-plugin-istanbul@7.0.1:
resolution: {integrity: sha512-D8Z6Qm8jCvVXtIRkBnqNHX0zJ37rQcFJ9u8WOS6tkYOsRdHBzypCstaxWiu5ZIlqQtviRYbgnRLSoCEvjqcqbA==}
@@ -5436,22 +5241,22 @@ packages:
babel-plugin-polyfill-corejs2@0.4.7:
resolution: {integrity: sha512-LidDk/tEGDfuHW2DWh/Hgo4rmnw3cduK6ZkOI1NPFceSK3n/yAGeOsNT7FLnSGHkXj3RHGSEVkN3FsCTY6w2CQ==}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
babel-plugin-polyfill-corejs3@0.8.7:
resolution: {integrity: sha512-KyDvZYxAzkC0Aj2dAPyDzi2Ym15e5JKZSK+maI7NAwSqofvuFglbSsxE7wUOvTg9oFVnHMzVzBKcqEb4PJgtOA==}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
babel-plugin-polyfill-regenerator@0.5.4:
resolution: {integrity: sha512-S/x2iOCvDaCASLYsOOgWOq4bCfKYVqvO/uxjkaYyZ3rVsVE3CeAI/c84NpyuBBymEgNvHgjEot3a9/Z/kXvqsg==}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
babel-plugin-transform-typescript-metadata@0.3.2:
resolution: {integrity: sha512-mWEvCQTgXQf48yDqgN7CH50waTyYBeP2Lpqx4nNWab9sxEpdXVeKgfj1qYI2/TgUPQtNFZ85i3PemRtnXVYYJg==}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7
'@babel/traverse': ^7
peerDependenciesMeta:
'@babel/traverse':
@@ -5460,17 +5265,21 @@ packages:
babel-preset-current-node-syntax@1.2.0:
resolution: {integrity: sha512-E/VlAEzRrsLEb2+dv8yp3bo4scof3l9nR4lrld+Iy5NyVqgVYUJnDAmunkhPMisRI32Qc4iRiz425d8vM++2fg==}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.0.0 || ^8.0.0-0
babel-preset-jest@30.3.0:
resolution: {integrity: sha512-6ZcUbWHC+dMz2vfzdNwi87Z1gQsLNK2uLuK1Q89R11xdvejcivlYYwDlEv0FHX3VwEXpbBQ9uufB/MUNpZGfhQ==}
engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': ^7.11.0 || ^8.0.0-beta.1
balanced-match@1.0.2:
resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
+ balanced-match@4.0.3:
+ resolution: {integrity: sha512-1pHv8LX9CpKut1Zp4EXey7Z8OfH11ONNH6Dhi2WDUt31VVZFXZzKwXcysBgqSumFCmR+0dqjMK5v5JiFHzi0+g==}
+ engines: {node: 20 || >=22}
+
balanced-match@4.0.4:
resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==}
engines: {node: 18 || 20 || >=22}
@@ -5510,8 +5319,8 @@ packages:
blueimp-load-image@5.16.0:
resolution: {integrity: sha512-3DUSVdOtlfNRk7moRZuTwDmA3NnG8KIJuLcq3c0J7/BIr6X3Vb/EpX3kUH1joxUhmoVF4uCpDfz7wHkz8pQajA==}
- body-parser@2.2.2:
- resolution: {integrity: sha512-oP5VkATKlNwcgvxi0vM0p/D3n2C3EReYVX+DNYs5TjZFn/oQt2j+4sVJtSMr18pdRr8wjTcBl6LoV+FUwzPmNA==}
+ body-parser@2.3.0:
+ resolution: {integrity: sha512-2cGmJupaNgg+QUwVLAucDuWuoMZ6EX9iHDRswZ5lsNYEmwPaRknMPCLZz07yTzVq/83p4o/wzbDZbBrTvGGTIw==}
engines: {node: '>=18'}
boolbase@1.0.0:
@@ -5524,15 +5333,12 @@ packages:
resolution: {integrity: sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==}
engines: {node: '>=10'}
- brace-expansion@1.1.15:
- resolution: {integrity: sha512-EwOCDEex4quD37XhqM3omwtMoJjr//isUZz1JopUNWms+4Z2ViyM/k1YIRePpoVNnQhENnxtFjLaxNHrT7xIUg==}
+ brace-expansion@1.1.18:
+ resolution: {integrity: sha512-Edep/X9fGqVNmzKBVsDYIOtD+z1tuezV70LBjdCst9Tqu76lsnvRiZ6oTic1n+/BIwX6QDGAO94PN4N2SADvtw==}
- brace-expansion@2.0.3:
- resolution: {integrity: sha512-MCV/fYJEbqx68aE58kv2cA/kiky1G8vux3OR6/jbS+jIMe/6fJWa0DTzJU7dqijOWYwHi1t29FlfYI9uytqlpA==}
-
- brace-expansion@5.0.6:
- resolution: {integrity: sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==}
- engines: {node: 18 || 20 || >=22}
+ brace-expansion@5.0.9:
+ resolution: {integrity: sha512-ScQ4IuvIEF1TMlP7Zt+vjJ//9zlPb2SDcxWxM3bk8s6t6GGdJ7KO1dCcTidOPJKePW30LE/2cT7wCyPho9/Wxg==}
+ engines: {node: 20 || >=22}
braces@3.0.3:
resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
@@ -5574,6 +5380,10 @@ packages:
redis:
optional: true
+ bundle-name@4.1.0:
+ resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==}
+ engines: {node: '>=18'}
+
bytes@3.1.2:
resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==}
engines: {node: '>= 0.8'}
@@ -5627,6 +5437,10 @@ packages:
resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
engines: {node: '>=10'}
+ chalk@5.6.2:
+ resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==}
+ engines: {node: ^12.17.0 || ^14.13 || >=16.0.0}
+
char-regex@1.0.2:
resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==}
engines: {node: '>=10'}
@@ -5712,6 +5526,10 @@ packages:
resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==}
engines: {node: '>=12'}
+ cliui@9.0.1:
+ resolution: {integrity: sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==}
+ engines: {node: '>=20'}
+
clone@1.0.4:
resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==}
engines: {node: '>=0.8'}
@@ -5786,9 +5604,9 @@ packages:
concat-map@0.0.1:
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
- concurrently@9.2.3:
- resolution: {integrity: sha512-ihjs0E2SxvDgq/MK418hX6YycQgKhsqxpbZuZbHo0yKfqDWdymWMjWYIpCIzqDDLLKClHlXev8whW/8WXmJ0BA==}
- engines: {node: '>=18'}
+ concurrently@10.0.4:
+ resolution: {integrity: sha512-trZql+7l/0+WRAsAnEdctr4+iiOS6ZrViI6H8QWcCF9MFS/LT0dKpe8vluB1to6it+OxSI4VospFTIFMW8DJRw==}
+ engines: {node: '>=22'}
hasBin: true
conf@15.1.0:
@@ -5802,10 +5620,18 @@ packages:
resolution: {integrity: sha512-oIXISMynqSqm241k6kcQ5UwttDILMK4BiurCfGEREw6+X9jkkpEe5T9FZaApyLGGOnFuyMWZpdolTXMtvEJ08Q==}
engines: {node: '>=18'}
+ content-disposition@2.0.1:
+ resolution: {integrity: sha512-e+H0ZXHSWYrENhQzw1LPuP4oF5MzVKmDU6d3hxlvaPEYLLg62MxtQNPRx4SYSuYJSBUgnQIG4HIN2tEtNv7Dog==}
+ engines: {node: '>=18'}
+
content-type@1.0.5:
resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==}
engines: {node: '>= 0.6'}
+ content-type@2.0.0:
+ resolution: {integrity: sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==}
+ engines: {node: '>=18'}
+
convert-source-map@2.0.0:
resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
@@ -5821,12 +5647,13 @@ packages:
resolution: {integrity: sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==}
engines: {node: '>=18'}
+ cookie@2.0.1:
+ resolution: {integrity: sha512-yuToqVvRrj6pfDXREyQAAv8SkAEk/8GS3jQRTiUMm66TVtBYmqQeoEjL2Lmq8Rpo6271vH76InTChTitEAm65w==}
+ engines: {node: '>=22'}
+
cookiejar@2.1.4:
resolution: {integrity: sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==}
- copy-anything@2.0.6:
- resolution: {integrity: sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==}
-
core-js-compat@3.35.0:
resolution: {integrity: sha512-5blwFAddknKeNgsjBzilkdQ0+YK8L1PfqPYq40NOYMYFSS38qj+hpTcLLWwpIwA2A5bje/x5jmVn2tzUMg9IVw==}
@@ -5878,6 +5705,7 @@ packages:
cron-parser@4.9.0:
resolution: {integrity: sha512-p0SaNjrHOnQeR8/VnfGbmg9te2kfyYSQ7Sc/j/6DtPL3JQvKxmjO9TSjNFpujqV3vEYYBvNNvXSxzyksBWAx1Q==}
engines: {node: '>=12.0.0'}
+ deprecated: v4 is no longer maintained, upgrade to v5
cron@4.4.0:
resolution: {integrity: sha512-fkdfq+b+AHI4cKdhZlppHveI/mgz2qpiYxcm+t5E5TsxX7QrLS1VE0+7GENEk9z0EeGPcpSciGv6ez24duWhwQ==}
@@ -5947,8 +5775,8 @@ packages:
peerDependencies:
cytoscape: ^3.2.0
- cytoscape@3.33.1:
- resolution: {integrity: sha512-iJc4TwyANnOGR1OmWhsS9ayRS3s+XQ185FmuHObThD+5AeJCakAAbWv8KimMTt08xCCLNgneQwFp+JRJOr9qGQ==}
+ cytoscape@3.34.0:
+ resolution: {integrity: sha512-62rNSrioXw93uliKFBwjukeQyeWwH2PqDrTac31r2P6464u3AUvTk0xS4LVvT251g7IgkFunrI48ZEZGjywSOg==}
engines: {node: '>=0.10'}
d3-array@2.12.1:
@@ -6115,8 +5943,8 @@ packages:
dateformat@4.6.3:
resolution: {integrity: sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==}
- dayjs@1.11.19:
- resolution: {integrity: sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==}
+ dayjs@1.11.21:
+ resolution: {integrity: sha512-98IT+HOahAisibz/yjKbzuOBwYcjJ7BCLPzARyHiyEBmRz4fatF+KPJszEHXsGYjUG234aH/cOjW1wwTbKUZlA==}
debounce-fn@6.0.0:
resolution: {integrity: sha512-rBMW+F2TXryBwB54Q0d8drNEI+TfoS9JpNTAoVpukbWEhjXQq4rySFYLaqXMFXwdv61Zb2OHtj5bviSoimqxRQ==}
@@ -6166,6 +5994,14 @@ packages:
resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
engines: {node: '>=0.10.0'}
+ default-browser-id@5.0.0:
+ resolution: {integrity: sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==}
+ engines: {node: '>=18'}
+
+ default-browser@5.2.1:
+ resolution: {integrity: sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==}
+ engines: {node: '>=18'}
+
defaults@1.0.4:
resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==}
@@ -6173,9 +6009,9 @@ packages:
resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==}
engines: {node: '>= 0.4'}
- define-lazy-prop@2.0.0:
- resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==}
- engines: {node: '>=8'}
+ define-lazy-prop@3.0.0:
+ resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==}
+ engines: {node: '>=12'}
define-properties@1.2.1:
resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
@@ -6211,8 +6047,9 @@ packages:
detect-node-es@1.1.0:
resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==}
- detect-port@1.5.1:
- resolution: {integrity: sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ==}
+ detect-port@2.1.0:
+ resolution: {integrity: sha512-epZuWb/6Q62L+nDHJc/hQAqf8pylsqgk3BpZXVBx1CDnr3nkrVNn73Uu1rXcFzkNcc+hkP3whuOg7JZYaQB65Q==}
+ engines: {node: '>= 16.0.0'}
hasBin: true
devlop@1.1.0:
@@ -6262,8 +6099,8 @@ packages:
resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==}
engines: {node: '>= 4'}
- dompurify@3.4.11:
- resolution: {integrity: sha512-zhlUV12GsaRzMsf9q5M254YhA4+VuF0fG+QFqu6aYpoGlKtz+w8//jBcGVYBgQkR5GHjUomejY84AV+/uPbWdw==}
+ dompurify@3.4.13:
+ resolution: {integrity: sha512-2vmYIoqjze2d+kakP8S/nS5shfsl587kzwEjcGlTdiksUVgFHnFCsLYDVj/JNqJVOQZGSYBTmuycv0PodwmnMQ==}
domutils@3.2.2:
resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==}
@@ -6272,10 +6109,6 @@ packages:
resolution: {integrity: sha512-MVUtAugQMOff5RnBy2d9N31iG0lNwg1qAoAOn7pOK5wf94WIaE3My2p3uwTQuvS2AcqchkcR3bHByjaM0mmi7Q==}
engines: {node: '>=20'}
- dotenv-expand@11.0.6:
- resolution: {integrity: sha512-8NHi73otpWsZGBSZwwknTXS5pqMOrk9+Ssrna8xCaxkzEpU9OTf9R5ArQGVw03//Zmk9MOwLPng9WwndvpAJ5g==}
- engines: {node: '>=12'}
-
dotenv-expand@12.0.3:
resolution: {integrity: sha512-uc47g4b+4k/M/SeaW1y4OApx+mtLWl92l5LMPP0GNXctZqELk+YGgOPIIC5elYmUH4OuoK3JLhuRUYegeySiFA==}
engines: {node: '>=12'}
@@ -6284,10 +6117,6 @@ packages:
resolution: {integrity: sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==}
engines: {node: '>=12'}
- dotenv@17.2.4:
- resolution: {integrity: sha512-mudtfb4zRB4bVvdj0xRo+e6duH1csJRM8IukBqfTRvHotn9+LBXB8ynAidP9zHqoRC/fsllXgk4kCKlR21fIhw==}
- engines: {node: '>=12'}
-
dotenv@17.4.1:
resolution: {integrity: sha512-k8DaKGP6r1G30Lx8V4+pCsLzKr8vLmV2paqEj1Y55GdAgJuIqpRp5FfajGF8KtwMxCz9qJc6wUIJnm053d/WCw==}
engines: {node: '>=12'}
@@ -6305,9 +6134,9 @@ packages:
ee-first@1.1.1:
resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
- ejs@3.1.10:
- resolution: {integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==}
- engines: {node: '>=0.10.0'}
+ ejs@5.0.1:
+ resolution: {integrity: sha512-COqBPFMxuPTPspXl2DkVYaDS3HtrD1GpzOGkNTJ1IYkifq/r9h8SVEFrjA3D9/VJGOEoMQcrlhpntcSUrM8k6A==}
+ engines: {node: '>=0.12.18'}
hasBin: true
electron-to-chromium@1.5.286:
@@ -6317,6 +6146,9 @@ packages:
resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==}
engines: {node: '>=12'}
+ emoji-regex@10.6.0:
+ resolution: {integrity: sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==}
+
emoji-regex@8.0.0:
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
@@ -6327,8 +6159,8 @@ packages:
encoding-sniffer@0.2.1:
resolution: {integrity: sha512-5gvq20T6vfpekVtqrYQsSCFZ1wEg5+wW0/QaZMWkFr6BqD3NfKs0rLCx4rrVlSWJeZb5NBJgVLswK/w2MWU+Gw==}
- end-of-stream@1.4.4:
- resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==}
+ end-of-stream@1.4.5:
+ resolution: {integrity: sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==}
engine.io-client@6.6.2:
resolution: {integrity: sha512-TAr+NKeoVTjEVW8P3iHguO1LO6RlUz9O5Y8o7EY0fU+gY1NYqas7NN3slpFtbXEsLMHk0h90fJMfKjRkQ0qUIw==}
@@ -6337,8 +6169,8 @@ packages:
resolution: {integrity: sha512-RcyUFKA93/CXH20l4SoVvzZfrSDMOTUS3bWVpTt2FuFP+XYrL8i8oonHP7WInRyVHXh0n/ORtoeiE1os+8qkSw==}
engines: {node: '>=10.0.0'}
- engine.io@6.6.2:
- resolution: {integrity: sha512-gmNvsYi9C8iErnZdVcJnvCpSKbWTt1E8+JZo8b+daLninywUWi5NQ5STSHZ9rFjFO7imNcvb8Pc5pe/wMR5xEw==}
+ engine.io@6.6.9:
+ resolution: {integrity: sha512-clKkw4C7nJ22mGgoVcCg6V/W/TxdNyIOTr89k2ONZu81qqkddPFDF0LXcbAwhzPD8DjkiRCjzuiO6Y+fkpD4vg==}
engines: {node: '>=10.2.0'}
enhanced-resolve@5.20.1:
@@ -6369,10 +6201,6 @@ packages:
resolution: {integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==}
engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- errno@0.1.8:
- resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==}
- hasBin: true
-
error-ex@1.3.2:
resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
@@ -6498,16 +6326,6 @@ packages:
jiti:
optional: true
- eslint@9.39.4:
- resolution: {integrity: sha512-XoMjdBOwe/esVgEvLmNsD3IRHkm7fbKIUGvrleloJXUZgDHig2IPWNniv+GwjyJXzuNqVjlr5+4yVUZjycJwfQ==}
- engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- hasBin: true
- peerDependencies:
- jiti: '*'
- peerDependenciesMeta:
- jiti:
- optional: true
-
espree@10.4.0:
resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -6574,10 +6392,6 @@ packages:
resolution: {integrity: sha512-knvyeauYhqjOYvQ66MznSMs83wmHrCycNEN6Ao+2AeYEfxUIkuiVxdEa1qlGEPK+We3n0THiDciYSsCcgW/DoA==}
engines: {node: '>=12.0.0'}
- expect@30.2.0:
- resolution: {integrity: sha512-u/feCi0GPsI+988gU2FLcsHyAHTU0MX1Wg68NhAnN7z/+C5wqG+CY8J53N9ioe8RXgaoz0nBR/TYMf3AycUuPw==}
- engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
-
expect@30.3.0:
resolution: {integrity: sha512-1zQrciTiQfRdo7qJM1uG4navm8DayFa2TgCSRlzUyNkhcJ6XUZF3hjnpkyr3VhAqPH7i/9GkG7Tv5abz6fqz0Q==}
engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
@@ -6617,6 +6431,9 @@ packages:
fast-json-stringify@6.0.1:
resolution: {integrity: sha512-s7SJE83QKBZwg54dIbD5rCtzOBVD43V1ReWXXYqBgwCwHLYAAT0RQc/FmrQglXqWPpz6omtryJQOau5jI4Nrvg==}
+ fast-json-stringify@7.0.1:
+ resolution: {integrity: sha512-eRSayARSbbwlBjpP4vnTTIRD5QPcIrmihPxDeN1DtKnHPg66UuJLx+8hlK1kaFdjvzyQ/dzALoi4vwAQ+T+iZA==}
+
fast-levenshtein@2.0.6:
resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
@@ -6626,8 +6443,8 @@ packages:
fast-safe-stringify@2.1.1:
resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==}
- fast-uri@3.1.3:
- resolution: {integrity: sha512-i70LwGWUduXqzicKXWshooq+sWL1K3WUU5rKZNG/0i3a1OSoX3HqhH5WbWwTmqWfor4urUakGPiRQcleRZTwOg==}
+ fast-uri@3.1.5:
+ resolution: {integrity: sha512-gHwA1O9LDIcKunMKhObS/HimwtehO1nPUECKAu5TpKgaO19fcWEl4bliWe1jWxVFvIXztJjjQ4L8XQ1EU9f7Jw==}
fast-xml-builder@1.2.0:
resolution: {integrity: sha512-00aAWieqff+ZJhsXA4g1g7M8k+7AYoMUUHF+/zFb5U6Uv/P0Vl4QZo84/IcufzYalLuEj9928bXN9PbbFzMF0Q==}
@@ -6640,17 +6457,14 @@ packages:
resolution: {integrity: sha512-7mQyAc7sapawpiriEFoJyQIs41nNIO42UCzgMKrjNGsIegnevj2VhOlXLLTa+q7cxXfJ5fDGmOAdQpaIgA9ObA==}
engines: {node: '>=20.x'}
- fastify-plugin@5.0.1:
- resolution: {integrity: sha512-HCxs+YnRaWzCl+cWRYFnHmeRFyR5GVnJTAaCJQiYzQSDwK9MgJdyAsuL3nh0EWRCYMgQ5MeziymvmAhUHYHDUQ==}
-
fastify-plugin@5.1.0:
resolution: {integrity: sha512-FAIDA8eovSt5qcDgcBvDuX/v0Cjz0ohGhENZ/wpc3y+oZCY2afZ9Baqql3g/lC+OHRnciQol4ww7tuthOb9idw==}
fastify-plugin@6.0.0:
resolution: {integrity: sha512-fZOty7z3O7vOliF6d8bHE3wiEh1KcNnKEQensSgTk9C1DvN6nRLS++XVd86v33Hw/8u9Un8A1zDrQ8ujcQDHEg==}
- fastify@5.8.5:
- resolution: {integrity: sha512-Yqptv59pQzPgQUSIm87hMqHJmdkb1+GPxdE6vW6FRyVE9G86mt7rOghitiU4JHRaTyDUk9pfeKmDeu70lAwM4Q==}
+ fastify@5.11.3:
+ resolution: {integrity: sha512-W6hzDP8s0iSeL7LGwY6Oc/ZxuXWOvFEMs6p2L0Si415YRo27W5pBKdOTXxhemBDeSTAcpYf5evRA9onF2OYhPA==}
fastq@1.17.1:
resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
@@ -6662,7 +6476,7 @@ packages:
resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==}
engines: {node: '>=12.0.0'}
peerDependencies:
- picomatch: 4.0.4
+ picomatch: ^3 || ^4
peerDependenciesMeta:
picomatch:
optional: true
@@ -6685,9 +6499,6 @@ packages:
resolution: {integrity: sha512-Ievi/yy8DS3ygGvT47PjSfdFoX+2isQueoYP1cntFW1JLYAuS4GD7NUPGg4zv2iZfV52uDyk5w5Z0TdpRS6Q1g==}
engines: {node: '>=20'}
- filelist@1.0.4:
- resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==}
-
fill-range@7.1.1:
resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
engines: {node: '>=8'}
@@ -6696,8 +6507,8 @@ packages:
resolution: {integrity: sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==}
engines: {node: '>= 18.0.0'}
- find-my-way@9.6.0:
- resolution: {integrity: sha512-Zf4Xve4RymLl7NgaavNebZ01joJ8MfVerOG43wy7SHLO+r+K0C6d/SE0BiR7AV5V1VOCFlOP7ecdo+I4qmiHrQ==}
+ find-my-way@9.7.0:
+ resolution: {integrity: sha512-f2JHn75x2JlwUwLenZypgczR7YWMb/uO9BvUXtus+JMgkbIkLADd38cI4EiV+OQqrGo1Zlq6V8wnqMJ8e62wUQ==}
engines: {node: '>=20'}
find-up@4.1.0:
@@ -6762,9 +6573,6 @@ packages:
resolution: {integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==}
engines: {node: '>= 0.8'}
- front-matter@4.0.2:
- resolution: {integrity: sha512-I8ZuJ/qG92NWX8i5x1Y8qyj3vizhXS31OxjKDu3LKP+7/qBgfIKValiZIEwoVoJKUHlhWtYrktkxV1XsX+pPlg==}
-
fs-constants@1.0.0:
resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==}
@@ -6806,6 +6614,10 @@ packages:
resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
engines: {node: 6.* || 8.* || >= 10.*}
+ get-east-asian-width@1.6.0:
+ resolution: {integrity: sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA==}
+ engines: {node: '>=18'}
+
get-intrinsic@1.3.0:
resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==}
engines: {node: '>= 0.4'}
@@ -6919,10 +6731,6 @@ packages:
resolution: {integrity: sha512-Wn2i1In6XFxl8Az55kkgnFRiAlIAushzh26PTjL2AKtQcEfXrcLa7Hn5QOWGZEf3LU057P9TwwZjFyxfS1VuvQ==}
engines: {node: '>=20'}
- hasown@2.0.2:
- resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
- engines: {node: '>= 0.4'}
-
hasown@2.0.4:
resolution: {integrity: sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==}
engines: {node: '>= 0.4'}
@@ -6943,8 +6751,8 @@ packages:
highlightjs-sap-abap@0.3.0:
resolution: {integrity: sha512-nSiUvEOCycjtFA3pHaTowrbAAk5+lciBHyoVkDsd6FTRBtW9sT2dt42o2jAKbXjZVUidtacdk+j0Y2xnd233Mw==}
- hono@4.12.25:
- resolution: {integrity: sha512-2NFaIyNVgJmBs/ecmtGzlmluTFs5cHEWGTdu0t1HBwYzoGXOL5nUQBRMXsXWla5i4KkG//QMzVP88m1+I3fdAQ==}
+ hono@4.12.34:
+ resolution: {integrity: sha512-GqXJqY/xJkJmuloTrnV1ZEXG3fqte+VjkUqoRNZXcrUidiUOP4fMSIHHY4tsqZBK++kVyWmt/AAfSUuy57/eSA==}
engines: {node: '>=16.9.0'}
hookified@1.15.1:
@@ -7031,16 +6839,11 @@ packages:
engines: {node: '>=18'}
hasBin: true
- image-size@0.5.5:
- resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==}
- engines: {node: '>=0.10.0'}
- hasBin: true
-
immediate@3.0.6:
resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==}
- immutable@4.3.8:
- resolution: {integrity: sha512-d/Ld9aLbKpNwyl0KiM2CT1WYvkitQ1TSvmRtkcV8FKStiDoA7Slzgjmb/1G2yhKM1p0XeNOieaTbFZmU1d3Xuw==}
+ immutable@4.3.9:
+ resolution: {integrity: sha512-ObHy4YN7ycwZOUCLI1/6svfyAFu7vL8RhAvVu/bh/RZW9EPlOyDaQ9jDQWCtdqzaXUjgXZCW1migtHE7YI7UGQ==}
import-fresh@3.3.0:
resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
@@ -7080,8 +6883,8 @@ packages:
resolution: {integrity: sha512-HuEDBTI70aYdx1v6U97SbNx9F1+svQKBDo30o0b9fw055LMepzpOOd0Ccg9Q6tbqmBSJaMuY0fB7yw9/vjBYCA==}
engines: {node: '>=12.22.0'}
- ip-address@10.1.1:
- resolution: {integrity: sha512-1FMu8/N15Ck1BL551Jf42NYIoin2unWjLQ2Fze/DXryJRl5twqtwNHlO39qERGbIOcKYWHdgRryhOC+NG4eaLw==}
+ ip-address@10.3.1:
+ resolution: {integrity: sha512-1e9d3kb97NHJTIJDZW9rKqW2h6+dFa50Dy0fpPSMQp2ADje5gvKsXmdiK6dwY5t76TaTt5+P5N1Y/LoToIxP6g==}
engines: {node: '>= 12'}
ipaddr.js@1.9.1:
@@ -7130,9 +6933,9 @@ packages:
resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==}
engines: {node: '>= 0.4'}
- is-docker@2.2.1:
- resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==}
- engines: {node: '>=8'}
+ is-docker@3.0.0:
+ resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
hasBin: true
is-extglob@2.1.1:
@@ -7159,6 +6962,11 @@ packages:
resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
engines: {node: '>=0.10.0'}
+ is-inside-container@1.0.0:
+ resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==}
+ engines: {node: '>=14.16'}
+ hasBin: true
+
is-interactive@1.0.0:
resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==}
engines: {node: '>=8'}
@@ -7233,12 +7041,9 @@ packages:
resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==}
engines: {node: '>= 0.4'}
- is-what@3.14.1:
- resolution: {integrity: sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==}
-
- is-wsl@2.2.0:
- resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==}
- engines: {node: '>=8'}
+ is-wsl@3.1.0:
+ resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==}
+ engines: {node: '>=16'}
isarray@1.0.0:
resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==}
@@ -7280,11 +7085,6 @@ packages:
resolution: {integrity: sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==}
engines: {node: '>= 0.4'}
- jake@10.8.7:
- resolution: {integrity: sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==}
- engines: {node: '>=10'}
- hasBin: true
-
jest-changed-files@30.3.0:
resolution: {integrity: sha512-B/7Cny6cV5At6M25EWDgf9S617lHivamL8vl6KEpJqkStauzcG4e+WPfDgMMF+H4FVH4A2PLRyvgDJan4441QA==}
engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
@@ -7318,10 +7118,6 @@ packages:
ts-node:
optional: true
- jest-diff@30.2.0:
- resolution: {integrity: sha512-dQHFo3Pt4/NLlG5z4PxZ/3yZTZ1C7s9hveiOj+GCN+uT109NC2QgsoVZsVOAvbJ3RgKkvyLGXZV9+piDpWbm6A==}
- engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
-
jest-diff@30.3.0:
resolution: {integrity: sha512-n3q4PDQjS4LrKxfWB3Z5KNk1XjXtZTBwQp71OP0Jo03Z6V60x++K5L8k6ZrW8MY8pOFylZvHM0zsjS1RqlHJZQ==}
engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
@@ -7346,26 +7142,14 @@ packages:
resolution: {integrity: sha512-cuKmUUGIjfXZAiGJ7TbEMx0bcqNdPPI6P1V+7aF+m/FUJqFDxkFR4JqkTu8ZOiU5AaX/x0hZ20KaaIPXQzbMGQ==}
engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
- jest-matcher-utils@30.2.0:
- resolution: {integrity: sha512-dQ94Nq4dbzmUWkQ0ANAWS9tBRfqCrn0bV9AMYdOi/MHW726xn7eQmMeRTpX2ViC00bpNaWXq+7o4lIQ3AX13Hg==}
- engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
-
jest-matcher-utils@30.3.0:
resolution: {integrity: sha512-HEtc9uFQgaUHkC7nLSlQL3Tph4Pjxt/yiPvkIrrDCt9jhoLIgxaubo1G+CFOnmHYMxHwwdaSN7mkIFs6ZK8OhA==}
engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
- jest-message-util@30.2.0:
- resolution: {integrity: sha512-y4DKFLZ2y6DxTWD4cDe07RglV88ZiNEdlRfGtqahfbIjfsw1nMCPx49Uev4IA/hWn3sDKyAnSPwoYSsAEdcimw==}
- engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
-
jest-message-util@30.3.0:
resolution: {integrity: sha512-Z/j4Bo+4ySJ+JPJN3b2Qbl9hDq3VrXmnjjGEWD/x0BCXeOXPTV1iZYYzl2X8c1MaCOL+ewMyNBcm88sboE6YWw==}
engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
- jest-mock@30.2.0:
- resolution: {integrity: sha512-JNNNl2rj4b5ICpmAcq+WbLH83XswjPbjH4T7yvGzfAGCPh1rw+xVNbtk+FnRslvt9lkCcdn9i1oAoKUuFsOxRw==}
- engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
-
jest-mock@30.3.0:
resolution: {integrity: sha512-OTzICK8CpE+t4ndhKrwlIdbM6Pn8j00lvmSmq5ejiO+KxukbLjgOflKWMn3KE34EZdQm5RqTuKj+5RIEniYhog==}
engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
@@ -7403,10 +7187,6 @@ packages:
resolution: {integrity: sha512-f14c7atpb4O2DeNhwcvS810Y63wEn8O1HqK/luJ4F6M4NjvxmAKQwBUWjbExUtMxWJQ0wVgmCKymeJK6NZMnfQ==}
engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
- jest-util@30.2.0:
- resolution: {integrity: sha512-QKNsM0o3Xe6ISQU869e+DhG+4CK/48aHYdJZGlFQVTjnbvgpcKyxpzk29fGiO7i/J8VENZ+d2iGnSsvmuHywlA==}
- engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
-
jest-util@30.3.0:
resolution: {integrity: sha512-/jZDa00a3Sz7rdyu55NLrQCIrbyIkbBxareejQI315f/i8HjYN+ZWsDLLpoQSiUIEIyZF/R8fDg3BmB8AtHttg==}
engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
@@ -7472,7 +7252,7 @@ packages:
resolution: {integrity: sha512-dnuKfU/GLi8B28RRMjQ3AfoN7kfzP8o41+AX2FmITZqEMY8PHnjABq+VkEooomLwYaGjda+pgy0yFSjaHX/ZPg==}
engines: {node: '>=12.20.0'}
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': '>=7.0.0'
'@babel/template': '>=7.0.0'
'@types/react': '>=17.0.0'
react: '>=17.0.0'
@@ -7500,12 +7280,12 @@ packages:
js-tokens@4.0.0:
resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
- js-yaml@3.15.0:
- resolution: {integrity: sha512-ttBQIIQPDeLjpPOohtUdXuXUVoA2uIB6fEH9HyJ7234s5mBJ5wTx20njxplLZQgLaOfpmPQA7X2t5AX6tIPbog==}
+ js-yaml@3.15.1:
+ resolution: {integrity: sha512-S99WuO3HlhO3XN41EtYUNl9zzXjoJx7QvmipxsJVxtCBT0YHEFy+iOJhjSvrmV12nYhWpZaM8lPHkJm0yUMbag==}
hasBin: true
- js-yaml@4.3.0:
- resolution: {integrity: sha512-1td788aAnnZ5qs7V2QIRl1owjtYpbKt749Y3xauqQgwIIGF/xXWz1wMTEBx5O3LK3lXLVuqXPdPxj2BoFHaW9Q==}
+ js-yaml@4.3.1:
+ resolution: {integrity: sha512-CY6crGq313MX8GkwvB7tzgp99vjQxY1++5y10/BKN/GUfHqWaOGQMNZkBvqSzsZKWk/ijwHlWzzkLulsGHhjWQ==}
hasBin: true
jsdom@25.0.0:
@@ -7544,6 +7324,9 @@ packages:
json-schema-ref-resolver@2.0.1:
resolution: {integrity: sha512-HG0SIB9X4J8bwbxCbnd5FfPEbcXAJYTi1pBJeP/QPON+w8ovSME8iRG+ElHNxZNX2Qh6eYn1GdzJFS4cDFfx0Q==}
+ json-schema-ref-resolver@3.0.0:
+ resolution: {integrity: sha512-hOrZIVL5jyYFjzk7+y7n5JDzGlU8rfWDuYyHwGa2WA8/pcmMHezp2xsVwxrebD/Q9t8Nc5DboieySDpCp4WG4A==}
+
json-schema-traverse@0.4.1:
resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
@@ -7564,9 +7347,6 @@ packages:
engines: {node: '>=6'}
hasBin: true
- jsonc-parser@3.2.0:
- resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==}
-
jsonc-parser@3.3.1:
resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==}
@@ -7602,6 +7382,10 @@ packages:
resolution: {integrity: sha512-1DJcK/L05k1Y9Gf7wMcyuqFOL6BiY3vY0CFcAM/LPRN04NALxcl6u7lOWNsp3f/bCHWxigzQl6FbR95XJ4R84Q==}
hasBin: true
+ katex@0.16.47:
+ resolution: {integrity: sha512-Eeo8Ys1doU1z+x8AZsPpQu+p/QcZBI5PeOo7QGQdy2x2m0MU/hYagBbGOmXwr5KVbEfVuWv9LpnQWeehogurjg==}
+ hasBin: true
+
keyv@4.5.4:
resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
@@ -7680,14 +7464,14 @@ packages:
resolution: {integrity: sha512-QJv/h939gDpvT+9SiLVlY7tZC3xB2qK57v0J04Sh9wpMb6MP1q8gB21L3WIo8T5P1MSMg3Ep14L7KkDCFG3y4w==}
engines: {node: '>=16.0.0'}
- langsmith@0.7.0:
- resolution: {integrity: sha512-iiPAGHJZ3uIHGnnLSkgcYZ4+thzhsGp5U48pWuW3ETgCRtbYzoDxYJigiQ3iWkK8ovF7Vr37tYvbI1ZE0tB+6A==}
+ langsmith@0.8.9:
+ resolution: {integrity: sha512-6ikTB5SO+3SlBQ/+oH8K/JzhglxB8AM4RAe5bHzgWSEIHTgTe+b71bSjf1fDvlYuEXoiPn6uP10BbczrbznUnA==}
peerDependencies:
'@opentelemetry/api': '*'
'@opentelemetry/exporter-trace-otlp-proto': '*'
'@opentelemetry/sdk-trace-base': '*'
openai: '*'
- ws: 8.21.0
+ ws: 8.21.3
peerDependenciesMeta:
'@opentelemetry/api':
optional: true
@@ -7713,11 +7497,6 @@ packages:
leac@0.6.0:
resolution: {integrity: sha512-y+SqErxb8h7nE/fiEX07jsbuhrpO9lL8eca7/Y1nuWV2moNlXhyd59iDGcRf6moVyDMbmTNzL40SUyrFU/yDpg==}
- less@4.2.0:
- resolution: {integrity: sha512-P3b3HJDBtSzsXUl0im2L7gTO5Ubg8mEN6G8qoTS77iXxXX4Hvu4Qj540PZDvQ8V6DmX6iXo98k7Md0Cm1PrLaA==}
- engines: {node: '>=6'}
- hasBin: true
-
leven@3.1.0:
resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==}
engines: {node: '>=6'}
@@ -7934,10 +7713,6 @@ packages:
magic-string@0.30.21:
resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==}
- make-dir@2.1.0:
- resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==}
- engines: {node: '>=6'}
-
make-dir@4.0.0:
resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==}
engines: {node: '>=10'}
@@ -7997,8 +7772,8 @@ packages:
merge-stream@2.0.0:
resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
- mermaid@11.15.0:
- resolution: {integrity: sha512-pTMbcf3rWdtLiYGpmoTjHEpeY8seiy6sR+9nD7LOs8KfUbHE4lOUAprTRqRAcWSQ6MQpdX+YEsxShtGsINtPtw==}
+ mermaid@11.16.1:
+ resolution: {integrity: sha512-TQsq6u22fAn3rek5VOubrhKPo1g5hwC3FXUN9hiyupTckcYiGuuKGkNQrKYwGJkXUxZdojwRG46gsSCFZMDp4g==}
methods@1.1.2:
resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==}
@@ -8024,11 +7799,6 @@ packages:
resolution: {integrity: sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==}
engines: {node: '>=18'}
- mime@1.6.0:
- resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==}
- engines: {node: '>=4'}
- hasBin: true
-
mime@2.6.0:
resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==}
engines: {node: '>=4.0.0'}
@@ -8054,17 +7824,13 @@ packages:
minimalistic-assert@1.0.1:
resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==}
- minimatch@10.2.4:
- resolution: {integrity: sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==}
+ minimatch@10.2.5:
+ resolution: {integrity: sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==}
engines: {node: 18 || 20 || >=22}
minimatch@3.1.5:
resolution: {integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==}
- minimatch@5.1.8:
- resolution: {integrity: sha512-7RN35vit8DeBclkofOVmBY0eDAZZQd1HzmukRdSyz95CRh8FT54eqnbj0krQr3mrHR6sfRyYkyhwBWjoV5uqlQ==}
- engines: {node: '>=10'}
-
minimist@1.2.8:
resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
@@ -8085,10 +7851,6 @@ packages:
resolution: {integrity: sha512-kh8ARjh8rMN7Du2igDRO9QJnqCb2xYTJxyQYK7vJJS4TvLLmsbyhiKpSW+t+y26gyOyMd0riphX0GeWKU3ky5g==}
engines: {node: '>=12.13'}
- msgpackr-extract@3.0.2:
- resolution: {integrity: sha512-SdzXp4kD/Qf8agZ9+iTu6eql0m3kWm1A2y1hkpTeVNENutaB0BwHlSvAIaMxwntmRUAUjon2V4L8Z/njd0Ct8A==}
- hasBin: true
-
msgpackr-extract@3.0.4:
resolution: {integrity: sha512-4kmO/MdyUIkLIvTPr8VHLil4AtoKIoniWPIEk5+CDy0xnWC84azhSFmuJ7PxZdsYtiP5kEeQsORAVIeMgxT+Hw==}
hasBin: true
@@ -8110,8 +7872,8 @@ packages:
resolution: {integrity: sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==}
engines: {node: ^18.17.0 || >=20.5.0}
- nanoid@3.3.8:
- resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==}
+ nanoid@3.3.18:
+ resolution: {integrity: sha512-DTg4MJbGMWkfi6VZFdNt2/caMbQy4Ou+Op/hJQvGEWcnVfoA1QA+xzRKAzw9jD6+GVOOeYr/mIcuDSdug6F6+w==}
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
hasBin: true
@@ -8120,11 +7882,6 @@ packages:
engines: {node: ^18 || >=20}
hasBin: true
- nanoid@5.1.7:
- resolution: {integrity: sha512-ua3NDgISf6jdwezAheMOk4mbE1LXjm1DfMUDMuJf4AqxLFK3ccGpgWizwa5YV7Yz9EpXwEaWoRXSb/BnV0t5dQ==}
- engines: {node: ^18 || >=20}
- hasBin: true
-
napi-postinstall@0.3.4:
resolution: {integrity: sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==}
engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
@@ -8133,11 +7890,6 @@ packages:
natural-compare@1.4.0:
resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
- needle@3.5.0:
- resolution: {integrity: sha512-jaQyPKKk2YokHrEg+vFDYxXIHTCBgiZwSHOoVx/8V3GIBS8/VN6NdVRmg8q1ERtPkMvmOvebsgga4sAj5hls/w==}
- engines: {node: '>= 4.4.x'}
- hasBin: true
-
negotiator@0.6.3:
resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==}
engines: {node: '>= 0.6'}
@@ -8194,10 +7946,6 @@ packages:
encoding:
optional: true
- node-gyp-build-optional-packages@5.0.7:
- resolution: {integrity: sha512-YlCCc6Wffkx0kHkmam79GKvDQ6x+QZkMjFGrIMxgFNILFvGSbCp2fCBC55pGTT9gVaz8Na5CLmxt/urtzRv36w==}
- hasBin: true
-
node-gyp-build-optional-packages@5.2.2:
resolution: {integrity: sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw==}
hasBin: true
@@ -8233,8 +7981,8 @@ packages:
nwsapi@2.2.16:
resolution: {integrity: sha512-F1I/bimDpj3ncaNDhfyMWuFqmQDBwDB0Fogc2qpL3BWvkQteFD/8BzWuIRl83rq0DXfm8SGt/HFhLXZyljTXcQ==}
- nx@22.6.1:
- resolution: {integrity: sha512-b4eo52o5aCVt3oG6LPYvD2Cul3JFBMgr2p9OjMBIo6oU6QfSR693H2/UuUMepLtO6jcIniPKOcIrf6Ue8aXAww==}
+ nx@23.1.1:
+ resolution: {integrity: sha512-oDdW2JgVllgfyyN6OqlRzeABw0QrlXdxyl9rtOUMMXQzlkpYA1RTs8jinJCe6QSo7aEn0dZ+Ar7dd09hMudBsg==}
hasBin: true
peerDependencies:
'@swc-node/register': ^1.11.1
@@ -8264,10 +8012,6 @@ packages:
resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
engines: {node: '>= 6'}
- object-inspect@1.13.3:
- resolution: {integrity: sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==}
- engines: {node: '>= 0.4'}
-
object-inspect@1.13.4:
resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==}
engines: {node: '>= 0.4'}
@@ -8313,15 +8057,15 @@ packages:
resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
engines: {node: '>=6'}
- open@8.4.2:
- resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==}
- engines: {node: '>=12'}
+ open@10.1.0:
+ resolution: {integrity: sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==}
+ engines: {node: '>=18'}
openai@6.2.0:
resolution: {integrity: sha512-qqjzHls7F5xkXNGy9P1Ei1rorI5LWupUUFWP66zPU8FlZbiITX8SFcHMKNZg/NATJ0LpIZcMUFxSwQmdeQPwSw==}
hasBin: true
peerDependencies:
- ws: 8.21.0
+ ws: 8.21.3
zod: ^3.25 || ^4.0
peerDependenciesMeta:
ws:
@@ -8342,10 +8086,6 @@ packages:
resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==}
engines: {node: '>= 0.8.0'}
- ora@5.3.0:
- resolution: {integrity: sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==}
- engines: {node: '>=10'}
-
ora@5.4.1:
resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==}
engines: {node: '>=10'}
@@ -8405,6 +8145,9 @@ packages:
pako@2.0.3:
resolution: {integrity: sha512-WjR1hOeg+kki3ZIOjaf4b5WVcay1jaliKSYiEaB1XzwhMQZJxRdQRv0V31EKBYlxb4T7SK3hjfc/jxyU64BoSw==}
+ pako@2.2.0:
+ resolution: {integrity: sha512-zJq6RP/5q+TO2OpFV3FHzlPnFjmkb7Nc99a5SNjJE+uu/PkpChs+NIZSSzbBoD+6kjiISXjfYdwj1ZRQ81dz/w==}
+
parent-module@1.0.1:
resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
engines: {node: '>=6'}
@@ -8413,10 +8156,6 @@ packages:
resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
engines: {node: '>=8'}
- parse-node-version@1.0.1:
- resolution: {integrity: sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==}
- engines: {node: '>= 0.10'}
-
parse5-htmlparser2-tree-adapter@7.1.0:
resolution: {integrity: sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==}
@@ -8478,8 +8217,8 @@ packages:
resolution: {integrity: sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==}
engines: {node: 18 || 20 || >=22}
- path-to-regexp@8.4.0:
- resolution: {integrity: sha512-PuseHIvAnz3bjrM2rGJtSgo1zjgxapTLZ7x2pjhzWwlp4SJQgK3f3iZIQwkpEnBaKz6seKBADpM4B4ySkuYypg==}
+ path-to-regexp@8.4.2:
+ resolution: {integrity: sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA==}
path-type@4.0.0:
resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
@@ -8560,10 +8299,6 @@ packages:
resolution: {integrity: sha512-lGA1TNsmy2bxvRsTI2cV01kfTwKzZjnZSDmF9llYNyMHMrU4sP87lQ5taiIKm88L3cbswjl008nwyGc3WpNvzg==}
engines: {node: '>=18.0.0'}
- pify@4.0.1:
- resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==}
- engines: {node: '>=6'}
-
pino-abstract-transport@2.0.0:
resolution: {integrity: sha512-F63x5tizV6WCh4R6RHyi2Ml+M70DNRXt/+HANowMflpgGFMAym/VKm6G7ZOQRjqN7XbGxK1Lg9t6ZrtzOaivMw==}
@@ -8665,12 +8400,8 @@ packages:
peerDependencies:
postcss: ^8.2.1
- postcss@8.5.14:
- resolution: {integrity: sha512-SoSL4+OSEtR99LHFZQiJLkT59C5B1amGO1NzTwj7TT1qCUgUO6hxOvzkOYxD+vMrXBM3XJIKzokoERdqQq/Zmg==}
- engines: {node: ^10 || ^12 || >=14}
-
- postcss@8.5.15:
- resolution: {integrity: sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==}
+ postcss@8.5.25:
+ resolution: {integrity: sha512-DTPx3RWSSnWyzLxQnlH0rJP+EW5ekl16ZU4/psbIhA0e53kJfdgaN5vKM+xP7yJtXVu+nfdVFmlgFDEKAe4Pyw==}
engines: {node: ^10 || ^12 || >=14}
postgres-array@2.0.0:
@@ -8715,10 +8446,6 @@ packages:
resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
- pretty-format@30.2.0:
- resolution: {integrity: sha512-9uBdv/B4EefsuAL+pWqueZyZS2Ba+LxfFeQ9DN14HU4bN8bhaxKdkpjpB6fs9+pSjIBu+FXQHImEg8j/Lw0+vA==}
- engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
-
pretty-format@30.3.0:
resolution: {integrity: sha512-oG4T3wCbfeuvljnyAzhBvpN45E8iOTXCU/TD3zXW80HA3dQ4ahdqMkWGiPWZvjpQwlbyHrPTWUAqUzGzv4l1JQ==}
engines: {node: ^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0}
@@ -8764,8 +8491,8 @@ packages:
prosemirror-keymap@1.2.3:
resolution: {integrity: sha512-4HucRlpiLd1IPQQXNqeo81BGtkY8Ai5smHhKW9jjPKRc2wQIxksg7Hl1tTI2IfT2B/LgX6bfYvXxEpJl7aKYKw==}
- prosemirror-model@1.25.9:
- resolution: {integrity: sha512-pRTklkDDMMRopyoAcrr9wV/8g/RYgrLHBuJAb5hlEuYZRdm5yqmPjWId83fpBwPpSFqEdja0H7Dfd7z1X/npcA==}
+ prosemirror-model@1.25.11:
+ resolution: {integrity: sha512-QWg9RhnpLlogAmp3p96uEFrE5txQpFynd4vhBAELkwgOCWQs/X0yCzB3/hrHqiPwf91RG5KyWq6553zs9JqIOQ==}
prosemirror-schema-list@1.5.1:
resolution: {integrity: sha512-927lFx/uwyQaGwJxLWCZRkjXG0p48KpMj6ueoYiu4JX05GGuGcgzAy62dfiV8eFZftgyBUvLx76RsMe20fJl+Q==}
@@ -8790,9 +8517,6 @@ packages:
resolution: {integrity: sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA==}
engines: {node: '>=10'}
- prr@1.0.1:
- resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==}
-
psl@1.15.0:
resolution: {integrity: sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==}
@@ -8943,15 +8667,15 @@ packages:
'@types/react':
optional: true
- react-router-dom@7.18.0:
- resolution: {integrity: sha512-Fi0yY6kgtKae/Th2xibdWK0KSdYZ4B53Gyf6wRtomOKWgpNm7H7+DyfDhncdz9FKbpS+1jmDhg3F4WoGJ+yFOA==}
+ react-router-dom@7.18.2:
+ resolution: {integrity: sha512-AIKJ/jgGlFb3EbfCXk5Gzshiwt+l3mqbCrNjmEWMMjqQxNJ3svBa6bgzFyCC2Sw3RA0VWF1kg3uQf2OFhxb8hw==}
engines: {node: '>=20.0.0'}
peerDependencies:
react: '>=18'
react-dom: '>=18'
- react-router@7.18.0:
- resolution: {integrity: sha512-pTTGt8J+ji1NOmYnjzT+bAJy/1zD+Jp4ziO6cL7T3ZLvXKtusO7BpFqlRXitqpcPVqllsIXFHRMt+2/k3Xn6HQ==}
+ react-router@7.18.2:
+ resolution: {integrity: sha512-aUVMjFm3GAPTTZL7oYr5E7ETiqfQCHRLH+B+5afnICvf0r7kkK4eR6SMuwbSTJw/7t+12khT/Kahij49fqOCIg==}
engines: {node: '>=20.0.0'}
peerDependencies:
react: '>=18'
@@ -9126,6 +8850,10 @@ packages:
rrweb-cssom@0.8.0:
resolution: {integrity: sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==}
+ run-applescript@7.0.0:
+ resolution: {integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==}
+ engines: {node: '>=18'}
+
rw@1.3.3:
resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==}
@@ -9200,10 +8928,6 @@ packages:
selderee@0.11.0:
resolution: {integrity: sha512-5TF+l7p4+OsnP8BCCvSyZiSPc4x4//p5uPwK8TCnVPJYRmU2aYKMpOXvw8zM5a5JvuuCGN1jmsMwuU2W02ukfA==}
- semver@5.7.2:
- resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==}
- hasBin: true
-
semver@6.3.1:
resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
hasBin: true
@@ -9218,6 +8942,11 @@ packages:
engines: {node: '>=10'}
hasBin: true
+ semver@7.8.4:
+ resolution: {integrity: sha512-rUCObTnP32Q08R2uuIrt7r9PlEonuTmtuXYcW6s5kjdlj3xbnwe+21yXptAUYcMAABLkYYTtnmzb3w3EDZfueA==}
+ engines: {node: '>=10'}
+ hasBin: true
+
send@1.2.1:
resolution: {integrity: sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==}
engines: {node: '>= 18'}
@@ -9261,12 +8990,8 @@ packages:
resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
engines: {node: '>=8'}
- shell-quote@1.8.4:
- resolution: {integrity: sha512-VsC6n6vz1ihYYyZZwX7YZSF5l5x36ca17OC+a69h94YqB7X6XLwf+5MOgynYir2SLFUbl8gIYvBo8K8RoNQ6bQ==}
- engines: {node: '>= 0.4'}
-
- side-channel-list@1.0.0:
- resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==}
+ shell-quote@1.9.0:
+ resolution: {integrity: sha512-Iov+JwFv/2HcTpcwNMKd8+IWNb8tboQJNQTkAY/LLVK7gGH9jy+LGkVqPxfekHl+yMmiqXszdGWXgkfml7hjqA==}
engines: {node: '>= 0.4'}
side-channel-list@1.0.1:
@@ -9281,10 +9006,6 @@ packages:
resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==}
engines: {node: '>= 0.4'}
- side-channel@1.1.0:
- resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==}
- engines: {node: '>= 0.4'}
-
side-channel@1.1.1:
resolution: {integrity: sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==}
engines: {node: '>= 0.4'}
@@ -9310,6 +9031,10 @@ packages:
resolution: {integrity: sha512-VZBmZP8WU3sMOZm1bdgTadsQbcscK0UM8oKxKVBs4XAhUo2Xxzm/OFMGBkPusxw9xL3Uy8LrzEqGqJhclsr0yA==}
deprecated: Unsupported
+ smol-toml@1.6.1:
+ resolution: {integrity: sha512-dWUG8F5sIIARXih1DTaQAX4SsiTXhInKf1buxdY9DIg4ZYPZK5nGM1VRIYmEbDbsHt7USo99xSLFu5Q1IqTmsg==}
+ engines: {node: '>= 18'}
+
socket.io-adapter@2.5.4:
resolution: {integrity: sha512-wDNHGXGewWAjQPt3pyeYBtpWSq9cLE5UW1ZUPL/2eGK9jtse/FpXib7epSTsz0Q0m+6sg6Y4KtcFTlah1bdOVg==}
@@ -9317,8 +9042,8 @@ packages:
resolution: {integrity: sha512-uP0bpjWrjQmUt5DTHq9RuoCBdFJF10cdX9X+a368j/Ft0wmaVgxlrjvK3kjvgCODOMMOz9lcaRzxmso0bTWZ/g==}
engines: {node: '>=10.0.0'}
- socket.io-parser@4.2.6:
- resolution: {integrity: sha512-asJqbVBDsBCJx0pTqw3WfesSY0iRX+2xzWEWzrpcH7L6fLzrhyF8WPI8UaeM4YCuDfpwA/cgsdugMsmtz8EJeg==}
+ socket.io-parser@4.2.7:
+ resolution: {integrity: sha512-IH/iSeO9T6gz1KkFleGDWkG9N3dl4jXVYUtMhIqH10Md0ttMer8nUNWiP1DKuNrybD2xBrixLJdCC9J6ECoYkg==}
engines: {node: '>=10.0.0'}
socket.io@4.8.3:
@@ -9391,6 +9116,10 @@ packages:
resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
engines: {node: '>=8'}
+ string-width@7.2.0:
+ resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==}
+ engines: {node: '>=18'}
+
string.prototype.matchall@4.0.12:
resolution: {integrity: sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==}
engines: {node: '>= 0.4'}
@@ -9420,6 +9149,10 @@ packages:
resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
engines: {node: '>=8'}
+ strip-ansi@7.2.0:
+ resolution: {integrity: sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==}
+ engines: {node: '>=12'}
+
strip-bom@3.0.0:
resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==}
engines: {node: '>=4'}
@@ -9478,6 +9211,10 @@ packages:
resolution: {integrity: sha512-oK8WG9diS3DlhdUkcFn4tkNIiIbBx9lI2ClF8K+b2/m8Eyv47LSawxUzZQSNKUrVb2KsqeTDCcjAAVPYaSLVTA==}
engines: {node: '>=14.18.0'}
+ supports-color@10.2.2:
+ resolution: {integrity: sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==}
+ engines: {node: '>=18'}
+
supports-color@7.2.0:
resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
engines: {node: '>=8'}
@@ -9560,10 +9297,6 @@ packages:
resolution: {integrity: sha512-dAqSqE/RabpBKI8+h26GfLq6Vb3JVXs30XYQjdMjaj/c2tS8IYYMbIzP599KtRj7c57/wYApb3QjgRgXmrCukA==}
engines: {node: '>=18'}
- tinyglobby@0.2.15:
- resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==}
- engines: {node: '>=12.0.0'}
-
tinyglobby@0.2.17:
resolution: {integrity: sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==}
engines: {node: '>=12.0.0'}
@@ -9646,7 +9379,7 @@ packages:
engines: {node: ^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0}
hasBin: true
peerDependencies:
- '@babel/core': 7.29.7
+ '@babel/core': '>=7.0.0-beta.0 <8'
'@jest/transform': ^29.0.0 || ^30.0.0
'@jest/types': ^29.0.0 || ^30.0.0
babel-jest: ^29.0.0 || ^30.0.0
@@ -9736,6 +9469,10 @@ packages:
resolution: {integrity: sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==}
engines: {node: '>= 0.6'}
+ type-is@2.1.0:
+ resolution: {integrity: sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA==}
+ engines: {node: '>= 18'}
+
typed-array-buffer@1.0.3:
resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==}
engines: {node: '>= 0.4'}
@@ -9806,8 +9543,8 @@ packages:
undici-types@7.18.2:
resolution: {integrity: sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==}
- undici@7.28.0:
- resolution: {integrity: sha512-cRZYrTDwWznlnRiPjggAGxZXanty6M8RV1ff8Wm4LWXBp7/IG8v5DnOm74DtUBp9OONpK75YlPnIjQqX0dBDtA==}
+ undici@7.29.0:
+ resolution: {integrity: sha512-IDxfleLmmbSskfWSUATiN1nfn2rDuvnMOqb5CWR92iIfojA0Ud+ulOAAEQ57LPr9rWmsreUyf5lwyao+7GNNVw==}
engines: {node: '>=20.18.1'}
unicode-canonical-property-names-ecmascript@2.0.0:
@@ -10113,6 +9850,11 @@ packages:
engines: {node: '>= 8'}
hasBin: true
+ which@3.0.1:
+ resolution: {integrity: sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==}
+ engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
+ hasBin: true
+
why-is-node-running@2.3.0:
resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==}
engines: {node: '>=8'}
@@ -10133,6 +9875,10 @@ packages:
resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
engines: {node: '>=10'}
+ wrap-ansi@9.0.2:
+ resolution: {integrity: sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==}
+ engines: {node: '>=18'}
+
wrappy@1.0.2:
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
@@ -10140,8 +9886,8 @@ packages:
resolution: {integrity: sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
- ws@8.21.0:
- resolution: {integrity: sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g==}
+ ws@8.21.3:
+ resolution: {integrity: sha512-201TZ/kPWxoPr/OKWjquZR1SWKXcvxdH+e1xrx89b3YbmzLMFCLfnaG1HFIgWzJOEWZ7MvpK++odZufgYR50Rw==}
engines: {node: '>=10.0.0'}
peerDependencies:
bufferutil: ^4.0.1
@@ -10254,6 +10000,11 @@ packages:
engines: {node: '>= 14.6'}
hasBin: true
+ yaml@2.9.0:
+ resolution: {integrity: sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==}
+ engines: {node: '>= 14.6'}
+ hasBin: true
+
yargs-parser@18.1.3:
resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==}
engines: {node: '>=6'}
@@ -10262,6 +10013,10 @@ packages:
resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
engines: {node: '>=12'}
+ yargs-parser@22.0.0:
+ resolution: {integrity: sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==}
+ engines: {node: ^20.19.0 || ^22.12.0 || >=23}
+
yargs@15.4.1:
resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==}
engines: {node: '>=8'}
@@ -10270,6 +10025,10 @@ packages:
resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==}
engines: {node: '>=12'}
+ yargs@18.0.0:
+ resolution: {integrity: sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==}
+ engines: {node: ^20.19.0 || ^22.12.0 || >=23}
+
yauzl@3.4.0:
resolution: {integrity: sha512-jIH9yLR9wqr0wOS0TpBvo/g/2UgZH5qePVbjgRliiF0BYvOZyaBknKsF+x9Iht0O6sqgnB93rCICdOZFecJuDw==}
engines: {node: '>=12'}
@@ -10446,9 +10205,9 @@ snapshots:
'@babel/runtime': 7.29.2
react: 19.2.7
- '@atlaskit/css@0.19.4(react@19.2.7)':
+ '@atlaskit/css@0.19.4(react@19.2.7)(supports-color@10.2.2)':
dependencies:
- '@atlaskit/tokens': 13.0.4(react@19.2.7)
+ '@atlaskit/tokens': 13.0.4(react@19.2.7)(supports-color@10.2.2)
'@babel/runtime': 7.29.2
'@compiled/react': 0.20.0(react@19.2.7)
react: 19.2.7
@@ -10472,13 +10231,13 @@ snapshots:
transitivePeerDependencies:
- react
- '@atlaskit/motion@6.2.2(react@19.2.7)':
+ '@atlaskit/motion@6.2.2(react@19.2.7)(supports-color@10.2.2)':
dependencies:
'@atlaskit/browser-apis': 0.0.1(react@19.2.7)
- '@atlaskit/css': 0.19.4(react@19.2.7)
+ '@atlaskit/css': 0.19.4(react@19.2.7)(supports-color@10.2.2)
'@atlaskit/ds-lib': 7.0.0(react@19.2.7)
'@atlaskit/platform-feature-flags': 1.1.3(react@19.2.7)
- '@atlaskit/tokens': 13.0.4(react@19.2.7)
+ '@atlaskit/tokens': 13.0.4(react@19.2.7)(supports-color@10.2.2)
'@babel/runtime': 7.29.2
'@compiled/react': 0.20.0(react@19.2.7)
bind-event-listener: 3.0.0
@@ -10498,10 +10257,10 @@ snapshots:
'@atlaskit/pragmatic-drag-and-drop': 1.8.1
'@babel/runtime': 7.29.2
- '@atlaskit/pragmatic-drag-and-drop-flourish@2.0.15(react@19.2.7)':
+ '@atlaskit/pragmatic-drag-and-drop-flourish@2.0.15(react@19.2.7)(supports-color@10.2.2)':
dependencies:
- '@atlaskit/motion': 6.2.2(react@19.2.7)
- '@atlaskit/tokens': 13.0.4(react@19.2.7)
+ '@atlaskit/motion': 6.2.2(react@19.2.7)(supports-color@10.2.2)
+ '@atlaskit/tokens': 13.0.4(react@19.2.7)(supports-color@10.2.2)
'@babel/runtime': 7.29.2
transitivePeerDependencies:
- react
@@ -10522,13 +10281,13 @@ snapshots:
bind-event-listener: 3.0.0
raf-schd: 4.0.3
- '@atlaskit/tokens@13.0.4(react@19.2.7)':
+ '@atlaskit/tokens@13.0.4(react@19.2.7)(supports-color@10.2.2)':
dependencies:
'@atlaskit/ds-lib': 7.0.0(react@19.2.7)
'@atlaskit/platform-feature-flags': 1.1.3(react@19.2.7)
'@babel/runtime': 7.29.2
- '@babel/traverse': 7.28.5
- '@babel/types': 7.28.5
+ '@babel/traverse': 7.29.7(supports-color@10.2.2)
+ '@babel/types': 7.29.7
bind-event-listener: 3.0.0
react: 19.2.7
transitivePeerDependencies:
@@ -10599,7 +10358,7 @@ snapshots:
'@smithy/core': 3.24.3
'@smithy/fetch-http-handler': 5.4.3
'@smithy/node-http-handler': 4.7.3
- '@smithy/types': 4.14.1
+ '@smithy/types': 4.14.2
tslib: 2.8.1
'@aws-sdk/core@3.974.12':
@@ -10609,13 +10368,13 @@ snapshots:
'@aws/lambda-invoke-store': 0.2.3
'@smithy/core': 3.24.3
'@smithy/signature-v4': 5.4.3
- '@smithy/types': 4.14.1
+ '@smithy/types': 4.14.2
bowser: 2.14.1
tslib: 2.8.1
'@aws-sdk/crc64-nvme@3.972.8':
dependencies:
- '@smithy/types': 4.14.1
+ '@smithy/types': 4.14.2
tslib: 2.8.1
'@aws-sdk/credential-provider-env@3.972.38':
@@ -10623,7 +10382,7 @@ snapshots:
'@aws-sdk/core': 3.974.12
'@aws-sdk/types': 3.973.8
'@smithy/core': 3.24.3
- '@smithy/types': 4.14.1
+ '@smithy/types': 4.14.2
tslib: 2.8.1
'@aws-sdk/credential-provider-http@3.972.40':
@@ -10633,7 +10392,7 @@ snapshots:
'@smithy/core': 3.24.3
'@smithy/fetch-http-handler': 5.4.3
'@smithy/node-http-handler': 4.7.3
- '@smithy/types': 4.14.1
+ '@smithy/types': 4.14.2
tslib: 2.8.1
'@aws-sdk/credential-provider-ini@3.972.42':
@@ -10649,7 +10408,7 @@ snapshots:
'@aws-sdk/types': 3.973.8
'@smithy/core': 3.24.3
'@smithy/credential-provider-imds': 4.3.3
- '@smithy/types': 4.14.1
+ '@smithy/types': 4.14.2
tslib: 2.8.1
'@aws-sdk/credential-provider-login@3.972.42':
@@ -10658,7 +10417,7 @@ snapshots:
'@aws-sdk/nested-clients': 3.997.10
'@aws-sdk/types': 3.973.8
'@smithy/core': 3.24.3
- '@smithy/types': 4.14.1
+ '@smithy/types': 4.14.2
tslib: 2.8.1
'@aws-sdk/credential-provider-node@3.972.43':
@@ -10672,7 +10431,7 @@ snapshots:
'@aws-sdk/types': 3.973.8
'@smithy/core': 3.24.3
'@smithy/credential-provider-imds': 4.3.3
- '@smithy/types': 4.14.1
+ '@smithy/types': 4.14.2
tslib: 2.8.1
'@aws-sdk/credential-provider-process@3.972.38':
@@ -10680,7 +10439,7 @@ snapshots:
'@aws-sdk/core': 3.974.12
'@aws-sdk/types': 3.973.8
'@smithy/core': 3.24.3
- '@smithy/types': 4.14.1
+ '@smithy/types': 4.14.2
tslib: 2.8.1
'@aws-sdk/credential-provider-sso@3.972.42':
@@ -10690,7 +10449,7 @@ snapshots:
'@aws-sdk/token-providers': 3.1049.0
'@aws-sdk/types': 3.973.8
'@smithy/core': 3.24.3
- '@smithy/types': 4.14.1
+ '@smithy/types': 4.14.2
tslib: 2.8.1
'@aws-sdk/credential-provider-web-identity@3.972.42':
@@ -10699,14 +10458,14 @@ snapshots:
'@aws-sdk/nested-clients': 3.997.10
'@aws-sdk/types': 3.973.8
'@smithy/core': 3.24.3
- '@smithy/types': 4.14.1
+ '@smithy/types': 4.14.2
tslib: 2.8.1
'@aws-sdk/lib-storage@3.1050.0(@aws-sdk/client-s3@3.1050.0)':
dependencies:
'@aws-sdk/client-s3': 3.1050.0
'@smithy/core': 3.24.3
- '@smithy/types': 4.14.1
+ '@smithy/types': 4.14.2
buffer: 5.6.0
events: 3.3.0
stream-browserify: 3.0.0
@@ -10717,14 +10476,14 @@ snapshots:
'@aws-sdk/core': 3.974.12
'@aws-sdk/types': 3.973.8
'@smithy/core': 3.24.3
- '@smithy/types': 4.14.1
+ '@smithy/types': 4.14.2
tslib: 2.8.1
'@aws-sdk/middleware-expect-continue@3.972.12':
dependencies:
'@aws-sdk/types': 3.973.8
'@smithy/core': 3.24.3
- '@smithy/types': 4.14.1
+ '@smithy/types': 4.14.2
tslib: 2.8.1
'@aws-sdk/middleware-flexible-checksums@3.974.20':
@@ -10736,13 +10495,13 @@ snapshots:
'@aws-sdk/crc64-nvme': 3.972.8
'@aws-sdk/types': 3.973.8
'@smithy/core': 3.24.3
- '@smithy/types': 4.14.1
+ '@smithy/types': 4.14.2
tslib: 2.8.1
'@aws-sdk/middleware-location-constraint@3.972.10':
dependencies:
'@aws-sdk/types': 3.973.8
- '@smithy/types': 4.14.1
+ '@smithy/types': 4.14.2
tslib: 2.8.1
'@aws-sdk/middleware-sdk-s3@3.972.41':
@@ -10752,13 +10511,13 @@ snapshots:
'@aws-sdk/types': 3.973.8
'@smithy/core': 3.24.3
'@smithy/signature-v4': 5.4.3
- '@smithy/types': 4.14.1
+ '@smithy/types': 4.14.2
tslib: 2.8.1
'@aws-sdk/middleware-ssec@3.972.10':
dependencies:
'@aws-sdk/types': 3.973.8
- '@smithy/types': 4.14.1
+ '@smithy/types': 4.14.2
tslib: 2.8.1
'@aws-sdk/nested-clients@3.997.10':
@@ -10771,7 +10530,7 @@ snapshots:
'@smithy/core': 3.24.3
'@smithy/fetch-http-handler': 5.4.3
'@smithy/node-http-handler': 4.7.3
- '@smithy/types': 4.14.1
+ '@smithy/types': 4.14.2
tslib: 2.8.1
'@aws-sdk/s3-request-presigner@3.1050.0':
@@ -10780,7 +10539,7 @@ snapshots:
'@aws-sdk/signature-v4-multi-region': 3.996.27
'@aws-sdk/types': 3.973.8
'@smithy/core': 3.24.3
- '@smithy/types': 4.14.1
+ '@smithy/types': 4.14.2
tslib: 2.8.1
'@aws-sdk/signature-v4-multi-region@3.996.27':
@@ -10788,7 +10547,7 @@ snapshots:
'@aws-sdk/types': 3.973.8
'@smithy/core': 3.24.3
'@smithy/signature-v4': 5.4.3
- '@smithy/types': 4.14.1
+ '@smithy/types': 4.14.2
tslib: 2.8.1
'@aws-sdk/token-providers@3.1049.0':
@@ -10797,12 +10556,12 @@ snapshots:
'@aws-sdk/nested-clients': 3.997.10
'@aws-sdk/types': 3.973.8
'@smithy/core': 3.24.3
- '@smithy/types': 4.14.1
+ '@smithy/types': 4.14.2
tslib: 2.8.1
'@aws-sdk/types@3.973.8':
dependencies:
- '@smithy/types': 4.14.1
+ '@smithy/types': 4.14.2
tslib: 2.8.1
'@aws-sdk/util-locate-window@3.535.0':
@@ -10812,7 +10571,7 @@ snapshots:
'@aws-sdk/xml-builder@3.972.24':
dependencies:
'@nodable/entities': 2.1.0
- '@smithy/types': 4.14.1
+ '@smithy/types': 4.14.2
fast-xml-parser: 5.7.3
tslib: 2.8.1
@@ -10822,37 +10581,37 @@ snapshots:
dependencies:
tslib: 2.8.1
- '@azure/core-auth@1.10.1':
+ '@azure/core-auth@1.10.1(supports-color@10.2.2)':
dependencies:
'@azure/abort-controller': 2.1.2
- '@azure/core-util': 1.13.1
+ '@azure/core-util': 1.13.1(supports-color@10.2.2)
tslib: 2.8.1
transitivePeerDependencies:
- supports-color
- '@azure/core-client@1.10.1':
+ '@azure/core-client@1.10.1(supports-color@10.2.2)':
dependencies:
'@azure/abort-controller': 2.1.2
- '@azure/core-auth': 1.10.1
- '@azure/core-rest-pipeline': 1.23.0
+ '@azure/core-auth': 1.10.1(supports-color@10.2.2)
+ '@azure/core-rest-pipeline': 1.23.0(supports-color@10.2.2)
'@azure/core-tracing': 1.3.1
- '@azure/core-util': 1.13.1
- '@azure/logger': 1.3.0
+ '@azure/core-util': 1.13.1(supports-color@10.2.2)
+ '@azure/logger': 1.3.0(supports-color@10.2.2)
tslib: 2.8.1
transitivePeerDependencies:
- supports-color
- '@azure/core-http-compat@2.4.0(@azure/core-client@1.10.1)(@azure/core-rest-pipeline@1.23.0)':
+ '@azure/core-http-compat@2.4.0(@azure/core-client@1.10.1(supports-color@10.2.2))(@azure/core-rest-pipeline@1.23.0(supports-color@10.2.2))':
dependencies:
'@azure/abort-controller': 2.1.2
- '@azure/core-client': 1.10.1
- '@azure/core-rest-pipeline': 1.23.0
+ '@azure/core-client': 1.10.1(supports-color@10.2.2)
+ '@azure/core-rest-pipeline': 1.23.0(supports-color@10.2.2)
- '@azure/core-lro@2.7.2':
+ '@azure/core-lro@2.7.2(supports-color@10.2.2)':
dependencies:
'@azure/abort-controller': 2.1.2
- '@azure/core-util': 1.13.1
- '@azure/logger': 1.3.0
+ '@azure/core-util': 1.13.1(supports-color@10.2.2)
+ '@azure/logger': 1.3.0(supports-color@10.2.2)
tslib: 2.8.1
transitivePeerDependencies:
- supports-color
@@ -10861,14 +10620,14 @@ snapshots:
dependencies:
tslib: 2.8.1
- '@azure/core-rest-pipeline@1.23.0':
+ '@azure/core-rest-pipeline@1.23.0(supports-color@10.2.2)':
dependencies:
'@azure/abort-controller': 2.1.2
- '@azure/core-auth': 1.10.1
+ '@azure/core-auth': 1.10.1(supports-color@10.2.2)
'@azure/core-tracing': 1.3.1
- '@azure/core-util': 1.13.1
- '@azure/logger': 1.3.0
- '@typespec/ts-http-runtime': 0.3.5
+ '@azure/core-util': 1.13.1(supports-color@10.2.2)
+ '@azure/logger': 1.3.0(supports-color@10.2.2)
+ '@typespec/ts-http-runtime': 0.3.5(supports-color@10.2.2)
tslib: 2.8.1
transitivePeerDependencies:
- supports-color
@@ -10877,10 +10636,10 @@ snapshots:
dependencies:
tslib: 2.8.1
- '@azure/core-util@1.13.1':
+ '@azure/core-util@1.13.1(supports-color@10.2.2)':
dependencies:
'@azure/abort-controller': 2.1.2
- '@typespec/ts-http-runtime': 0.3.5
+ '@typespec/ts-http-runtime': 0.3.5(supports-color@10.2.2)
tslib: 2.8.1
transitivePeerDependencies:
- supports-color
@@ -10890,96 +10649,94 @@ snapshots:
fast-xml-parser: 5.7.3
tslib: 2.8.1
- '@azure/logger@1.3.0':
+ '@azure/logger@1.3.0(supports-color@10.2.2)':
dependencies:
- '@typespec/ts-http-runtime': 0.3.5
+ '@typespec/ts-http-runtime': 0.3.5(supports-color@10.2.2)
tslib: 2.8.1
transitivePeerDependencies:
- supports-color
- '@azure/storage-blob@12.31.0':
+ '@azure/storage-blob@12.31.0(supports-color@10.2.2)':
dependencies:
'@azure/abort-controller': 2.1.2
- '@azure/core-auth': 1.10.1
- '@azure/core-client': 1.10.1
- '@azure/core-http-compat': 2.4.0(@azure/core-client@1.10.1)(@azure/core-rest-pipeline@1.23.0)
- '@azure/core-lro': 2.7.2
+ '@azure/core-auth': 1.10.1(supports-color@10.2.2)
+ '@azure/core-client': 1.10.1(supports-color@10.2.2)
+ '@azure/core-http-compat': 2.4.0(@azure/core-client@1.10.1(supports-color@10.2.2))(@azure/core-rest-pipeline@1.23.0(supports-color@10.2.2))
+ '@azure/core-lro': 2.7.2(supports-color@10.2.2)
'@azure/core-paging': 1.6.2
- '@azure/core-rest-pipeline': 1.23.0
+ '@azure/core-rest-pipeline': 1.23.0(supports-color@10.2.2)
'@azure/core-tracing': 1.3.1
- '@azure/core-util': 1.13.1
+ '@azure/core-util': 1.13.1(supports-color@10.2.2)
'@azure/core-xml': 1.5.1
- '@azure/logger': 1.3.0
- '@azure/storage-common': 12.3.0(@azure/core-client@1.10.1)
+ '@azure/logger': 1.3.0(supports-color@10.2.2)
+ '@azure/storage-common': 12.3.0(@azure/core-client@1.10.1(supports-color@10.2.2))(supports-color@10.2.2)
events: 3.3.0
tslib: 2.8.1
transitivePeerDependencies:
- supports-color
- '@azure/storage-common@12.3.0(@azure/core-client@1.10.1)':
+ '@azure/storage-common@12.3.0(@azure/core-client@1.10.1(supports-color@10.2.2))(supports-color@10.2.2)':
dependencies:
'@azure/abort-controller': 2.1.2
- '@azure/core-auth': 1.10.1
- '@azure/core-http-compat': 2.4.0(@azure/core-client@1.10.1)(@azure/core-rest-pipeline@1.23.0)
- '@azure/core-rest-pipeline': 1.23.0
+ '@azure/core-auth': 1.10.1(supports-color@10.2.2)
+ '@azure/core-http-compat': 2.4.0(@azure/core-client@1.10.1(supports-color@10.2.2))(@azure/core-rest-pipeline@1.23.0(supports-color@10.2.2))
+ '@azure/core-rest-pipeline': 1.23.0(supports-color@10.2.2)
'@azure/core-tracing': 1.3.1
- '@azure/core-util': 1.13.1
- '@azure/logger': 1.3.0
+ '@azure/core-util': 1.13.1(supports-color@10.2.2)
+ '@azure/logger': 1.3.0(supports-color@10.2.2)
events: 3.3.0
tslib: 2.8.1
transitivePeerDependencies:
- '@azure/core-client'
- supports-color
- '@babel/code-frame@7.27.1':
- dependencies:
- '@babel/helper-validator-identifier': 7.28.5
- js-tokens: 4.0.0
- picocolors: 1.1.1
-
- '@babel/code-frame@7.29.0':
- dependencies:
- '@babel/helper-validator-identifier': 7.28.5
- js-tokens: 4.0.0
- picocolors: 1.1.1
-
'@babel/code-frame@7.29.7':
dependencies:
'@babel/helper-validator-identifier': 7.29.7
js-tokens: 4.0.0
picocolors: 1.1.1
- '@babel/compat-data@7.28.5': {}
-
'@babel/compat-data@7.29.7': {}
- '@babel/core@7.29.7':
+ '@babel/core@7.29.7(supports-color@10.2.2)':
dependencies:
'@babel/code-frame': 7.29.7
'@babel/generator': 7.29.7
'@babel/helper-compilation-targets': 7.29.7
- '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7)
+ '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7(supports-color@10.2.2))(supports-color@10.2.2)
'@babel/helpers': 7.29.7
'@babel/parser': 7.29.7
'@babel/template': 7.29.7
- '@babel/traverse': 7.29.7
+ '@babel/traverse': 7.29.7(supports-color@10.2.2)
'@babel/types': 7.29.7
'@jridgewell/remapping': 2.3.5
convert-source-map: 2.0.0
- debug: 4.4.3
+ debug: 4.4.3(supports-color@10.2.2)
gensync: 1.0.0-beta.2
json5: 2.2.3
semver: 6.3.1
transitivePeerDependencies:
- supports-color
- '@babel/generator@7.28.5':
+ '@babel/core@7.29.7(supports-color@7.2.0)':
dependencies:
- '@babel/parser': 7.28.5
- '@babel/types': 7.28.5
- '@jridgewell/gen-mapping': 0.3.13
- '@jridgewell/trace-mapping': 0.3.31
- jsesc: 3.0.2
+ '@babel/code-frame': 7.29.7
+ '@babel/generator': 7.29.7
+ '@babel/helper-compilation-targets': 7.29.7
+ '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)
+ '@babel/helpers': 7.29.7
+ '@babel/parser': 7.29.7
+ '@babel/template': 7.29.7
+ '@babel/traverse': 7.29.7(supports-color@7.2.0)
+ '@babel/types': 7.29.7
+ '@jridgewell/remapping': 2.3.5
+ convert-source-map: 2.0.0
+ debug: 4.4.3(supports-color@7.2.0)
+ gensync: 1.0.0-beta.2
+ json5: 2.2.3
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
'@babel/generator@7.29.7':
dependencies:
@@ -10991,19 +10748,11 @@ snapshots:
'@babel/helper-annotate-as-pure@7.22.5':
dependencies:
- '@babel/types': 7.28.5
+ '@babel/types': 7.29.7
'@babel/helper-builder-binary-assignment-operator-visitor@7.22.15':
dependencies:
- '@babel/types': 7.28.5
-
- '@babel/helper-compilation-targets@7.27.2':
- dependencies:
- '@babel/compat-data': 7.28.5
- '@babel/helper-validator-option': 7.27.1
- browserslist: 4.28.1
- lru-cache: 5.1.1
- semver: 6.3.1
+ '@babel/types': 7.29.7
'@babel/helper-compilation-targets@7.29.7':
dependencies:
@@ -11013,32 +10762,32 @@ snapshots:
lru-cache: 5.1.1
semver: 6.3.1
- '@babel/helper-create-class-features-plugin@7.23.7(@babel/core@7.29.7)':
+ '@babel/helper-create-class-features-plugin@7.23.7(@babel/core@7.29.7(supports-color@7.2.0))':
dependencies:
- '@babel/core': 7.29.7
+ '@babel/core': 7.29.7(supports-color@7.2.0)
'@babel/helper-annotate-as-pure': 7.22.5
'@babel/helper-environment-visitor': 7.24.6
'@babel/helper-function-name': 7.24.6
'@babel/helper-member-expression-to-functions': 7.23.0
'@babel/helper-optimise-call-expression': 7.22.5
- '@babel/helper-replace-supers': 7.22.20(@babel/core@7.29.7)
+ '@babel/helper-replace-supers': 7.22.20(@babel/core@7.29.7(supports-color@7.2.0))
'@babel/helper-skip-transparent-expression-wrappers': 7.22.5
'@babel/helper-split-export-declaration': 7.24.6
semver: 6.3.1
- '@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.29.7)':
+ '@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.29.7(supports-color@7.2.0))':
dependencies:
- '@babel/core': 7.29.7
+ '@babel/core': 7.29.7(supports-color@7.2.0)
'@babel/helper-annotate-as-pure': 7.22.5
regexpu-core: 5.3.2
semver: 6.3.1
- '@babel/helper-define-polyfill-provider@0.4.4(@babel/core@7.29.7)':
+ '@babel/helper-define-polyfill-provider@0.4.4(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)':
dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-compilation-targets': 7.27.2
- '@babel/helper-plugin-utils': 7.28.6
- debug: 4.4.3
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-compilation-targets': 7.29.7
+ '@babel/helper-plugin-utils': 7.29.7
+ debug: 4.4.3(supports-color@7.2.0)
lodash.debounce: 4.0.8
resolve: 1.22.8
transitivePeerDependencies:
@@ -11048,100 +10797,90 @@ snapshots:
'@babel/helper-function-name@7.24.6':
dependencies:
- '@babel/template': 7.27.2
- '@babel/types': 7.28.5
-
- '@babel/helper-globals@7.28.0': {}
+ '@babel/template': 7.29.7
+ '@babel/types': 7.29.7
'@babel/helper-globals@7.29.7': {}
'@babel/helper-member-expression-to-functions@7.23.0':
dependencies:
- '@babel/types': 7.28.5
+ '@babel/types': 7.29.7
- '@babel/helper-module-imports@7.27.1':
+ '@babel/helper-module-imports@7.29.7(supports-color@10.2.2)':
dependencies:
- '@babel/traverse': 7.28.5
- '@babel/types': 7.28.5
- transitivePeerDependencies:
- - supports-color
-
- '@babel/helper-module-imports@7.29.7':
- dependencies:
- '@babel/traverse': 7.29.7
+ '@babel/traverse': 7.29.7(supports-color@10.2.2)
'@babel/types': 7.29.7
transitivePeerDependencies:
- supports-color
- '@babel/helper-module-transforms@7.28.3(@babel/core@7.29.7)':
+ '@babel/helper-module-imports@7.29.7(supports-color@7.2.0)':
dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-module-imports': 7.27.1
- '@babel/helper-validator-identifier': 7.28.5
- '@babel/traverse': 7.28.5
+ '@babel/traverse': 7.29.7(supports-color@7.2.0)
+ '@babel/types': 7.29.7
transitivePeerDependencies:
- supports-color
- '@babel/helper-module-transforms@7.29.7(@babel/core@7.29.7)':
+ '@babel/helper-module-transforms@7.29.7(@babel/core@7.29.7(supports-color@10.2.2))(supports-color@10.2.2)':
dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-module-imports': 7.29.7
+ '@babel/core': 7.29.7(supports-color@10.2.2)
+ '@babel/helper-module-imports': 7.29.7(supports-color@10.2.2)
'@babel/helper-validator-identifier': 7.29.7
- '@babel/traverse': 7.29.7
+ '@babel/traverse': 7.29.7(supports-color@10.2.2)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-module-transforms@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)':
+ dependencies:
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-module-imports': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-validator-identifier': 7.29.7
+ '@babel/traverse': 7.29.7(supports-color@7.2.0)
transitivePeerDependencies:
- supports-color
'@babel/helper-optimise-call-expression@7.22.5':
dependencies:
- '@babel/types': 7.28.5
-
- '@babel/helper-plugin-utils@7.28.6': {}
+ '@babel/types': 7.29.7
'@babel/helper-plugin-utils@7.29.7': {}
- '@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.29.7)':
+ '@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.29.7(supports-color@7.2.0))':
dependencies:
- '@babel/core': 7.29.7
+ '@babel/core': 7.29.7(supports-color@7.2.0)
'@babel/helper-annotate-as-pure': 7.22.5
'@babel/helper-environment-visitor': 7.24.6
'@babel/helper-wrap-function': 7.22.20
- '@babel/helper-replace-supers@7.22.20(@babel/core@7.29.7)':
+ '@babel/helper-replace-supers@7.22.20(@babel/core@7.29.7(supports-color@7.2.0))':
dependencies:
- '@babel/core': 7.29.7
+ '@babel/core': 7.29.7(supports-color@7.2.0)
'@babel/helper-environment-visitor': 7.24.6
'@babel/helper-member-expression-to-functions': 7.23.0
'@babel/helper-optimise-call-expression': 7.22.5
'@babel/helper-simple-access@7.24.6':
dependencies:
- '@babel/types': 7.28.5
+ '@babel/types': 7.29.7
'@babel/helper-skip-transparent-expression-wrappers@7.22.5':
dependencies:
- '@babel/types': 7.28.5
+ '@babel/types': 7.29.7
'@babel/helper-split-export-declaration@7.24.6':
dependencies:
- '@babel/types': 7.28.5
-
- '@babel/helper-string-parser@7.27.1': {}
+ '@babel/types': 7.29.7
'@babel/helper-string-parser@7.29.7': {}
- '@babel/helper-validator-identifier@7.28.5': {}
-
'@babel/helper-validator-identifier@7.29.7': {}
- '@babel/helper-validator-option@7.27.1': {}
-
'@babel/helper-validator-option@7.29.7': {}
'@babel/helper-wrap-function@7.22.20':
dependencies:
'@babel/helper-function-name': 7.24.6
- '@babel/template': 7.27.2
- '@babel/types': 7.28.5
+ '@babel/template': 7.29.7
+ '@babel/types': 7.29.7
'@babel/helpers@7.29.7':
dependencies:
@@ -11150,579 +10889,655 @@ snapshots:
'@babel/parser@7.27.0':
dependencies:
- '@babel/types': 7.28.5
-
- '@babel/parser@7.28.5':
- dependencies:
- '@babel/types': 7.28.5
+ '@babel/types': 7.29.7
'@babel/parser@7.29.7':
dependencies:
'@babel/types': 7.29.7
- '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.23.3(@babel/core@7.29.7)':
+ '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.23.3(@babel/core@7.29.7(supports-color@7.2.0))':
dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-plugin-utils': 7.28.6
-
- '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.23.3(@babel/core@7.29.7)':
- dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-plugin-utils': 7.28.6
- '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
- '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.29.7)
-
- '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.23.7(@babel/core@7.29.7)':
- dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-environment-visitor': 7.24.6
- '@babel/helper-plugin-utils': 7.28.6
-
- '@babel/plugin-proposal-decorators@7.23.7(@babel/core@7.29.7)':
- dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-create-class-features-plugin': 7.23.7(@babel/core@7.29.7)
- '@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-syntax-decorators': 7.23.3(@babel/core@7.29.7)
-
- '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.29.7)':
- dependencies:
- '@babel/core': 7.29.7
-
- '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.29.7)':
- dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-plugin-utils': 7.28.6
-
- '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.29.7)':
- dependencies:
- '@babel/core': 7.29.7
+ '@babel/core': 7.29.7(supports-color@7.2.0)
'@babel/helper-plugin-utils': 7.29.7
- '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.29.7)':
+ '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.23.3(@babel/core@7.29.7(supports-color@7.2.0))':
dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-plugin-utils': 7.29.7
+ '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
+ '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.29.7(supports-color@7.2.0))
- '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.29.7)':
+ '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.23.7(@babel/core@7.29.7(supports-color@7.2.0))':
dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-plugin-utils': 7.28.6
-
- '@babel/plugin-syntax-decorators@7.23.3(@babel/core@7.29.7)':
- dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-plugin-utils': 7.28.6
-
- '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.29.7)':
- dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-plugin-utils': 7.28.6
-
- '@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.29.7)':
- dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-plugin-utils': 7.28.6
-
- '@babel/plugin-syntax-import-assertions@7.23.3(@babel/core@7.29.7)':
- dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-plugin-utils': 7.28.6
-
- '@babel/plugin-syntax-import-attributes@7.28.6(@babel/core@7.29.7)':
- dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-plugin-utils': 7.28.6
-
- '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.29.7)':
- dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-plugin-utils': 7.28.6
-
- '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.29.7)':
- dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-plugin-utils': 7.28.6
-
- '@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.7)':
- dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-plugin-utils': 7.28.6
-
- '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.29.7)':
- dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-plugin-utils': 7.28.6
-
- '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.29.7)':
- dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-plugin-utils': 7.28.6
-
- '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.29.7)':
- dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-plugin-utils': 7.28.6
-
- '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.29.7)':
- dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-plugin-utils': 7.28.6
-
- '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.29.7)':
- dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-plugin-utils': 7.28.6
-
- '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.29.7)':
- dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-plugin-utils': 7.28.6
-
- '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.29.7)':
- dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-plugin-utils': 7.28.6
-
- '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.29.7)':
- dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-plugin-utils': 7.28.6
-
- '@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.7)':
- dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-plugin-utils': 7.28.6
-
- '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.29.7)':
- dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.29.7)
- '@babel/helper-plugin-utils': 7.28.6
-
- '@babel/plugin-transform-arrow-functions@7.23.3(@babel/core@7.29.7)':
- dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-plugin-utils': 7.28.6
-
- '@babel/plugin-transform-async-generator-functions@7.23.7(@babel/core@7.29.7)':
- dependencies:
- '@babel/core': 7.29.7
+ '@babel/core': 7.29.7(supports-color@7.2.0)
'@babel/helper-environment-visitor': 7.24.6
- '@babel/helper-plugin-utils': 7.28.6
- '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.29.7)
- '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.29.7)
+ '@babel/helper-plugin-utils': 7.29.7
- '@babel/plugin-transform-async-to-generator@7.23.3(@babel/core@7.29.7)':
+ '@babel/plugin-proposal-decorators@7.23.7(@babel/core@7.29.7(supports-color@7.2.0))':
dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-module-imports': 7.27.1
- '@babel/helper-plugin-utils': 7.28.6
- '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.29.7)
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-create-class-features-plugin': 7.23.7(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/helper-plugin-utils': 7.29.7
+ '@babel/plugin-syntax-decorators': 7.23.3(@babel/core@7.29.7(supports-color@7.2.0))
+
+ '@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.29.7(supports-color@7.2.0))':
+ dependencies:
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+
+ '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.29.7(supports-color@10.2.2))':
+ dependencies:
+ '@babel/core': 7.29.7(supports-color@10.2.2)
+ '@babel/helper-plugin-utils': 7.29.7
+
+ '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.29.7(supports-color@7.2.0))':
+ dependencies:
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-plugin-utils': 7.29.7
+
+ '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.29.7(supports-color@10.2.2))':
+ dependencies:
+ '@babel/core': 7.29.7(supports-color@10.2.2)
+ '@babel/helper-plugin-utils': 7.29.7
+
+ '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.29.7(supports-color@10.2.2))':
+ dependencies:
+ '@babel/core': 7.29.7(supports-color@10.2.2)
+ '@babel/helper-plugin-utils': 7.29.7
+
+ '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.29.7(supports-color@7.2.0))':
+ dependencies:
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-plugin-utils': 7.29.7
+
+ '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.29.7(supports-color@10.2.2))':
+ dependencies:
+ '@babel/core': 7.29.7(supports-color@10.2.2)
+ '@babel/helper-plugin-utils': 7.29.7
+
+ '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.29.7(supports-color@7.2.0))':
+ dependencies:
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-plugin-utils': 7.29.7
+
+ '@babel/plugin-syntax-decorators@7.23.3(@babel/core@7.29.7(supports-color@7.2.0))':
+ dependencies:
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-plugin-utils': 7.29.7
+
+ '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.29.7(supports-color@7.2.0))':
+ dependencies:
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-plugin-utils': 7.29.7
+
+ '@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.29.7(supports-color@7.2.0))':
+ dependencies:
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-plugin-utils': 7.29.7
+
+ '@babel/plugin-syntax-import-assertions@7.23.3(@babel/core@7.29.7(supports-color@7.2.0))':
+ dependencies:
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-plugin-utils': 7.29.7
+
+ '@babel/plugin-syntax-import-attributes@7.28.6(@babel/core@7.29.7(supports-color@10.2.2))':
+ dependencies:
+ '@babel/core': 7.29.7(supports-color@10.2.2)
+ '@babel/helper-plugin-utils': 7.29.7
+
+ '@babel/plugin-syntax-import-attributes@7.28.6(@babel/core@7.29.7(supports-color@7.2.0))':
+ dependencies:
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-plugin-utils': 7.29.7
+
+ '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.29.7(supports-color@10.2.2))':
+ dependencies:
+ '@babel/core': 7.29.7(supports-color@10.2.2)
+ '@babel/helper-plugin-utils': 7.29.7
+
+ '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.29.7(supports-color@7.2.0))':
+ dependencies:
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-plugin-utils': 7.29.7
+
+ '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.29.7(supports-color@10.2.2))':
+ dependencies:
+ '@babel/core': 7.29.7(supports-color@10.2.2)
+ '@babel/helper-plugin-utils': 7.29.7
+
+ '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.29.7(supports-color@7.2.0))':
+ dependencies:
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-plugin-utils': 7.29.7
+
+ '@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.7(supports-color@10.2.2))':
+ dependencies:
+ '@babel/core': 7.29.7(supports-color@10.2.2)
+ '@babel/helper-plugin-utils': 7.29.7
+
+ '@babel/plugin-syntax-jsx@7.28.6(@babel/core@7.29.7(supports-color@7.2.0))':
+ dependencies:
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-plugin-utils': 7.29.7
+
+ '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.29.7(supports-color@10.2.2))':
+ dependencies:
+ '@babel/core': 7.29.7(supports-color@10.2.2)
+ '@babel/helper-plugin-utils': 7.29.7
+
+ '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.29.7(supports-color@7.2.0))':
+ dependencies:
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-plugin-utils': 7.29.7
+
+ '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.29.7(supports-color@10.2.2))':
+ dependencies:
+ '@babel/core': 7.29.7(supports-color@10.2.2)
+ '@babel/helper-plugin-utils': 7.29.7
+
+ '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.29.7(supports-color@7.2.0))':
+ dependencies:
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-plugin-utils': 7.29.7
+
+ '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.29.7(supports-color@10.2.2))':
+ dependencies:
+ '@babel/core': 7.29.7(supports-color@10.2.2)
+ '@babel/helper-plugin-utils': 7.29.7
+
+ '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.29.7(supports-color@7.2.0))':
+ dependencies:
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-plugin-utils': 7.29.7
+
+ '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.29.7(supports-color@10.2.2))':
+ dependencies:
+ '@babel/core': 7.29.7(supports-color@10.2.2)
+ '@babel/helper-plugin-utils': 7.29.7
+
+ '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.29.7(supports-color@7.2.0))':
+ dependencies:
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-plugin-utils': 7.29.7
+
+ '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.29.7(supports-color@10.2.2))':
+ dependencies:
+ '@babel/core': 7.29.7(supports-color@10.2.2)
+ '@babel/helper-plugin-utils': 7.29.7
+
+ '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.29.7(supports-color@7.2.0))':
+ dependencies:
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-plugin-utils': 7.29.7
+
+ '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.29.7(supports-color@10.2.2))':
+ dependencies:
+ '@babel/core': 7.29.7(supports-color@10.2.2)
+ '@babel/helper-plugin-utils': 7.29.7
+
+ '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.29.7(supports-color@7.2.0))':
+ dependencies:
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-plugin-utils': 7.29.7
+
+ '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.29.7(supports-color@10.2.2))':
+ dependencies:
+ '@babel/core': 7.29.7(supports-color@10.2.2)
+ '@babel/helper-plugin-utils': 7.29.7
+
+ '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.29.7(supports-color@7.2.0))':
+ dependencies:
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-plugin-utils': 7.29.7
+
+ '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.29.7(supports-color@10.2.2))':
+ dependencies:
+ '@babel/core': 7.29.7(supports-color@10.2.2)
+ '@babel/helper-plugin-utils': 7.29.7
+
+ '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.29.7(supports-color@7.2.0))':
+ dependencies:
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-plugin-utils': 7.29.7
+
+ '@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.7(supports-color@10.2.2))':
+ dependencies:
+ '@babel/core': 7.29.7(supports-color@10.2.2)
+ '@babel/helper-plugin-utils': 7.29.7
+
+ '@babel/plugin-syntax-typescript@7.28.6(@babel/core@7.29.7(supports-color@7.2.0))':
+ dependencies:
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-plugin-utils': 7.29.7
+
+ '@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.29.7(supports-color@7.2.0))':
+ dependencies:
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/helper-plugin-utils': 7.29.7
+
+ '@babel/plugin-transform-arrow-functions@7.23.3(@babel/core@7.29.7(supports-color@7.2.0))':
+ dependencies:
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-plugin-utils': 7.29.7
+
+ '@babel/plugin-transform-async-generator-functions@7.23.7(@babel/core@7.29.7(supports-color@7.2.0))':
+ dependencies:
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-environment-visitor': 7.24.6
+ '@babel/helper-plugin-utils': 7.29.7
+ '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.29.7(supports-color@7.2.0))
+
+ '@babel/plugin-transform-async-to-generator@7.23.3(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)':
+ dependencies:
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-module-imports': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-plugin-utils': 7.29.7
+ '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.29.7(supports-color@7.2.0))
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-block-scoped-functions@7.23.3(@babel/core@7.29.7)':
+ '@babel/plugin-transform-block-scoped-functions@7.23.3(@babel/core@7.29.7(supports-color@7.2.0))':
dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-plugin-utils': 7.29.7
- '@babel/plugin-transform-block-scoping@7.23.4(@babel/core@7.29.7)':
+ '@babel/plugin-transform-block-scoping@7.23.4(@babel/core@7.29.7(supports-color@7.2.0))':
dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-plugin-utils': 7.29.7
- '@babel/plugin-transform-class-properties@7.23.3(@babel/core@7.29.7)':
+ '@babel/plugin-transform-class-properties@7.23.3(@babel/core@7.29.7(supports-color@7.2.0))':
dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-create-class-features-plugin': 7.23.7(@babel/core@7.29.7)
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-create-class-features-plugin': 7.23.7(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/helper-plugin-utils': 7.29.7
- '@babel/plugin-transform-class-static-block@7.23.4(@babel/core@7.29.7)':
+ '@babel/plugin-transform-class-static-block@7.23.4(@babel/core@7.29.7(supports-color@7.2.0))':
dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-create-class-features-plugin': 7.23.7(@babel/core@7.29.7)
- '@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.29.7)
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-create-class-features-plugin': 7.23.7(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/helper-plugin-utils': 7.29.7
+ '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.29.7(supports-color@7.2.0))
- '@babel/plugin-transform-classes@7.23.8(@babel/core@7.29.7)':
+ '@babel/plugin-transform-classes@7.23.8(@babel/core@7.29.7(supports-color@7.2.0))':
dependencies:
- '@babel/core': 7.29.7
+ '@babel/core': 7.29.7(supports-color@7.2.0)
'@babel/helper-annotate-as-pure': 7.22.5
- '@babel/helper-compilation-targets': 7.27.2
+ '@babel/helper-compilation-targets': 7.29.7
'@babel/helper-environment-visitor': 7.24.6
'@babel/helper-function-name': 7.24.6
- '@babel/helper-plugin-utils': 7.28.6
- '@babel/helper-replace-supers': 7.22.20(@babel/core@7.29.7)
+ '@babel/helper-plugin-utils': 7.29.7
+ '@babel/helper-replace-supers': 7.22.20(@babel/core@7.29.7(supports-color@7.2.0))
'@babel/helper-split-export-declaration': 7.24.6
globals: 11.12.0
- '@babel/plugin-transform-computed-properties@7.23.3(@babel/core@7.29.7)':
+ '@babel/plugin-transform-computed-properties@7.23.3(@babel/core@7.29.7(supports-color@7.2.0))':
dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-plugin-utils': 7.28.6
- '@babel/template': 7.27.2
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-plugin-utils': 7.29.7
+ '@babel/template': 7.29.7
- '@babel/plugin-transform-destructuring@7.23.3(@babel/core@7.29.7)':
+ '@babel/plugin-transform-destructuring@7.23.3(@babel/core@7.29.7(supports-color@7.2.0))':
dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-plugin-utils': 7.29.7
- '@babel/plugin-transform-dotall-regex@7.23.3(@babel/core@7.29.7)':
+ '@babel/plugin-transform-dotall-regex@7.23.3(@babel/core@7.29.7(supports-color@7.2.0))':
dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.29.7)
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/helper-plugin-utils': 7.29.7
- '@babel/plugin-transform-duplicate-keys@7.23.3(@babel/core@7.29.7)':
+ '@babel/plugin-transform-duplicate-keys@7.23.3(@babel/core@7.29.7(supports-color@7.2.0))':
dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-plugin-utils': 7.29.7
- '@babel/plugin-transform-dynamic-import@7.23.4(@babel/core@7.29.7)':
+ '@babel/plugin-transform-dynamic-import@7.23.4(@babel/core@7.29.7(supports-color@7.2.0))':
dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.29.7)
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-plugin-utils': 7.29.7
+ '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.29.7(supports-color@7.2.0))
- '@babel/plugin-transform-exponentiation-operator@7.23.3(@babel/core@7.29.7)':
+ '@babel/plugin-transform-exponentiation-operator@7.23.3(@babel/core@7.29.7(supports-color@7.2.0))':
dependencies:
- '@babel/core': 7.29.7
+ '@babel/core': 7.29.7(supports-color@7.2.0)
'@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/helper-plugin-utils': 7.29.7
- '@babel/plugin-transform-export-namespace-from@7.23.4(@babel/core@7.29.7)':
+ '@babel/plugin-transform-export-namespace-from@7.23.4(@babel/core@7.29.7(supports-color@7.2.0))':
dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.29.7)
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-plugin-utils': 7.29.7
+ '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.29.7(supports-color@7.2.0))
- '@babel/plugin-transform-for-of@7.23.6(@babel/core@7.29.7)':
+ '@babel/plugin-transform-for-of@7.23.6(@babel/core@7.29.7(supports-color@7.2.0))':
dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-plugin-utils': 7.29.7
'@babel/helper-skip-transparent-expression-wrappers': 7.22.5
- '@babel/plugin-transform-function-name@7.23.3(@babel/core@7.29.7)':
+ '@babel/plugin-transform-function-name@7.23.3(@babel/core@7.29.7(supports-color@7.2.0))':
dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-compilation-targets': 7.27.2
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-compilation-targets': 7.29.7
'@babel/helper-function-name': 7.24.6
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/helper-plugin-utils': 7.29.7
- '@babel/plugin-transform-json-strings@7.23.4(@babel/core@7.29.7)':
+ '@babel/plugin-transform-json-strings@7.23.4(@babel/core@7.29.7(supports-color@7.2.0))':
dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.29.7)
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-plugin-utils': 7.29.7
+ '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.29.7(supports-color@7.2.0))
- '@babel/plugin-transform-literals@7.23.3(@babel/core@7.29.7)':
+ '@babel/plugin-transform-literals@7.23.3(@babel/core@7.29.7(supports-color@7.2.0))':
dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-plugin-utils': 7.29.7
- '@babel/plugin-transform-logical-assignment-operators@7.23.4(@babel/core@7.29.7)':
+ '@babel/plugin-transform-logical-assignment-operators@7.23.4(@babel/core@7.29.7(supports-color@7.2.0))':
dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.29.7)
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-plugin-utils': 7.29.7
+ '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.29.7(supports-color@7.2.0))
- '@babel/plugin-transform-member-expression-literals@7.23.3(@babel/core@7.29.7)':
+ '@babel/plugin-transform-member-expression-literals@7.23.3(@babel/core@7.29.7(supports-color@7.2.0))':
dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-plugin-utils': 7.29.7
- '@babel/plugin-transform-modules-amd@7.23.3(@babel/core@7.29.7)':
+ '@babel/plugin-transform-modules-amd@7.23.3(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)':
dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-module-transforms': 7.28.3(@babel/core@7.29.7)
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)
+ '@babel/helper-plugin-utils': 7.29.7
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-modules-commonjs@7.23.3(@babel/core@7.29.7)':
+ '@babel/plugin-transform-modules-commonjs@7.23.3(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)':
dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-module-transforms': 7.28.3(@babel/core@7.29.7)
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)
+ '@babel/helper-plugin-utils': 7.29.7
'@babel/helper-simple-access': 7.24.6
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-modules-systemjs@7.29.7(@babel/core@7.29.7)':
+ '@babel/plugin-transform-modules-systemjs@7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)':
dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7)
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)
'@babel/helper-plugin-utils': 7.29.7
'@babel/helper-validator-identifier': 7.29.7
- '@babel/traverse': 7.29.7
+ '@babel/traverse': 7.29.7(supports-color@7.2.0)
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-modules-umd@7.23.3(@babel/core@7.29.7)':
+ '@babel/plugin-transform-modules-umd@7.23.3(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)':
dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-module-transforms': 7.28.3(@babel/core@7.29.7)
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-module-transforms': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)
+ '@babel/helper-plugin-utils': 7.29.7
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.29.7)':
+ '@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.29.7(supports-color@7.2.0))':
dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.29.7)
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/helper-plugin-utils': 7.29.7
- '@babel/plugin-transform-new-target@7.23.3(@babel/core@7.29.7)':
+ '@babel/plugin-transform-new-target@7.23.3(@babel/core@7.29.7(supports-color@7.2.0))':
dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-plugin-utils': 7.29.7
- '@babel/plugin-transform-nullish-coalescing-operator@7.23.4(@babel/core@7.29.7)':
+ '@babel/plugin-transform-nullish-coalescing-operator@7.23.4(@babel/core@7.29.7(supports-color@7.2.0))':
dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.29.7)
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-plugin-utils': 7.29.7
+ '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.29.7(supports-color@7.2.0))
- '@babel/plugin-transform-numeric-separator@7.23.4(@babel/core@7.29.7)':
+ '@babel/plugin-transform-numeric-separator@7.23.4(@babel/core@7.29.7(supports-color@7.2.0))':
dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.29.7)
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-plugin-utils': 7.29.7
+ '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.29.7(supports-color@7.2.0))
- '@babel/plugin-transform-object-rest-spread@7.23.4(@babel/core@7.29.7)':
+ '@babel/plugin-transform-object-rest-spread@7.23.4(@babel/core@7.29.7(supports-color@7.2.0))':
dependencies:
- '@babel/compat-data': 7.28.5
- '@babel/core': 7.29.7
- '@babel/helper-compilation-targets': 7.27.2
- '@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.29.7)
- '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.29.7)
+ '@babel/compat-data': 7.29.7
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-compilation-targets': 7.29.7
+ '@babel/helper-plugin-utils': 7.29.7
+ '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.29.7(supports-color@7.2.0))
- '@babel/plugin-transform-object-super@7.23.3(@babel/core@7.29.7)':
+ '@babel/plugin-transform-object-super@7.23.3(@babel/core@7.29.7(supports-color@7.2.0))':
dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-plugin-utils': 7.28.6
- '@babel/helper-replace-supers': 7.22.20(@babel/core@7.29.7)
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-plugin-utils': 7.29.7
+ '@babel/helper-replace-supers': 7.22.20(@babel/core@7.29.7(supports-color@7.2.0))
- '@babel/plugin-transform-optional-catch-binding@7.23.4(@babel/core@7.29.7)':
+ '@babel/plugin-transform-optional-catch-binding@7.23.4(@babel/core@7.29.7(supports-color@7.2.0))':
dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.29.7)
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-plugin-utils': 7.29.7
+ '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.29.7(supports-color@7.2.0))
- '@babel/plugin-transform-optional-chaining@7.23.4(@babel/core@7.29.7)':
+ '@babel/plugin-transform-optional-chaining@7.23.4(@babel/core@7.29.7(supports-color@7.2.0))':
dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-plugin-utils': 7.29.7
'@babel/helper-skip-transparent-expression-wrappers': 7.22.5
- '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.29.7)
+ '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.29.7(supports-color@7.2.0))
- '@babel/plugin-transform-parameters@7.23.3(@babel/core@7.29.7)':
+ '@babel/plugin-transform-parameters@7.23.3(@babel/core@7.29.7(supports-color@7.2.0))':
dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-plugin-utils': 7.29.7
- '@babel/plugin-transform-private-methods@7.23.3(@babel/core@7.29.7)':
+ '@babel/plugin-transform-private-methods@7.23.3(@babel/core@7.29.7(supports-color@7.2.0))':
dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-create-class-features-plugin': 7.23.7(@babel/core@7.29.7)
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-create-class-features-plugin': 7.23.7(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/helper-plugin-utils': 7.29.7
- '@babel/plugin-transform-private-property-in-object@7.23.4(@babel/core@7.29.7)':
+ '@babel/plugin-transform-private-property-in-object@7.23.4(@babel/core@7.29.7(supports-color@7.2.0))':
dependencies:
- '@babel/core': 7.29.7
+ '@babel/core': 7.29.7(supports-color@7.2.0)
'@babel/helper-annotate-as-pure': 7.22.5
- '@babel/helper-create-class-features-plugin': 7.23.7(@babel/core@7.29.7)
- '@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.29.7)
+ '@babel/helper-create-class-features-plugin': 7.23.7(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/helper-plugin-utils': 7.29.7
+ '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.29.7(supports-color@7.2.0))
- '@babel/plugin-transform-property-literals@7.23.3(@babel/core@7.29.7)':
+ '@babel/plugin-transform-property-literals@7.23.3(@babel/core@7.29.7(supports-color@7.2.0))':
dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-plugin-utils': 7.29.7
- '@babel/plugin-transform-regenerator@7.23.3(@babel/core@7.29.7)':
+ '@babel/plugin-transform-regenerator@7.23.3(@babel/core@7.29.7(supports-color@7.2.0))':
dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-plugin-utils': 7.29.7
regenerator-transform: 0.15.2
- '@babel/plugin-transform-reserved-words@7.23.3(@babel/core@7.29.7)':
+ '@babel/plugin-transform-reserved-words@7.23.3(@babel/core@7.29.7(supports-color@7.2.0))':
dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-plugin-utils': 7.29.7
- '@babel/plugin-transform-runtime@7.23.7(@babel/core@7.29.7)':
+ '@babel/plugin-transform-runtime@7.23.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)':
dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-module-imports': 7.27.1
- '@babel/helper-plugin-utils': 7.28.6
- babel-plugin-polyfill-corejs2: 0.4.7(@babel/core@7.29.7)
- babel-plugin-polyfill-corejs3: 0.8.7(@babel/core@7.29.7)
- babel-plugin-polyfill-regenerator: 0.5.4(@babel/core@7.29.7)
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-module-imports': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-plugin-utils': 7.29.7
+ babel-plugin-polyfill-corejs2: 0.4.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)
+ babel-plugin-polyfill-corejs3: 0.8.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)
+ babel-plugin-polyfill-regenerator: 0.5.4(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)
semver: 6.3.1
transitivePeerDependencies:
- supports-color
- '@babel/plugin-transform-shorthand-properties@7.23.3(@babel/core@7.29.7)':
+ '@babel/plugin-transform-shorthand-properties@7.23.3(@babel/core@7.29.7(supports-color@7.2.0))':
dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-plugin-utils': 7.29.7
- '@babel/plugin-transform-spread@7.23.3(@babel/core@7.29.7)':
+ '@babel/plugin-transform-spread@7.23.3(@babel/core@7.29.7(supports-color@7.2.0))':
dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-plugin-utils': 7.29.7
'@babel/helper-skip-transparent-expression-wrappers': 7.22.5
- '@babel/plugin-transform-sticky-regex@7.23.3(@babel/core@7.29.7)':
+ '@babel/plugin-transform-sticky-regex@7.23.3(@babel/core@7.29.7(supports-color@7.2.0))':
dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-plugin-utils': 7.29.7
- '@babel/plugin-transform-template-literals@7.23.3(@babel/core@7.29.7)':
+ '@babel/plugin-transform-template-literals@7.23.3(@babel/core@7.29.7(supports-color@7.2.0))':
dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-plugin-utils': 7.29.7
- '@babel/plugin-transform-typeof-symbol@7.23.3(@babel/core@7.29.7)':
+ '@babel/plugin-transform-typeof-symbol@7.23.3(@babel/core@7.29.7(supports-color@7.2.0))':
dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-plugin-utils': 7.29.7
- '@babel/plugin-transform-typescript@7.23.6(@babel/core@7.29.7)':
+ '@babel/plugin-transform-typescript@7.23.6(@babel/core@7.29.7(supports-color@7.2.0))':
dependencies:
- '@babel/core': 7.29.7
+ '@babel/core': 7.29.7(supports-color@7.2.0)
'@babel/helper-annotate-as-pure': 7.22.5
- '@babel/helper-create-class-features-plugin': 7.23.7(@babel/core@7.29.7)
- '@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-syntax-typescript': 7.28.6(@babel/core@7.29.7)
+ '@babel/helper-create-class-features-plugin': 7.23.7(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/helper-plugin-utils': 7.29.7
+ '@babel/plugin-syntax-typescript': 7.28.6(@babel/core@7.29.7(supports-color@7.2.0))
- '@babel/plugin-transform-unicode-escapes@7.23.3(@babel/core@7.29.7)':
+ '@babel/plugin-transform-unicode-escapes@7.23.3(@babel/core@7.29.7(supports-color@7.2.0))':
dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-plugin-utils': 7.29.7
- '@babel/plugin-transform-unicode-property-regex@7.23.3(@babel/core@7.29.7)':
+ '@babel/plugin-transform-unicode-property-regex@7.23.3(@babel/core@7.29.7(supports-color@7.2.0))':
dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.29.7)
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/helper-plugin-utils': 7.29.7
- '@babel/plugin-transform-unicode-regex@7.23.3(@babel/core@7.29.7)':
+ '@babel/plugin-transform-unicode-regex@7.23.3(@babel/core@7.29.7(supports-color@7.2.0))':
dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.29.7)
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/helper-plugin-utils': 7.29.7
- '@babel/plugin-transform-unicode-sets-regex@7.23.3(@babel/core@7.29.7)':
+ '@babel/plugin-transform-unicode-sets-regex@7.23.3(@babel/core@7.29.7(supports-color@7.2.0))':
dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.29.7)
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/helper-plugin-utils': 7.29.7
- '@babel/preset-env@7.23.8(@babel/core@7.29.7)':
+ '@babel/preset-env@7.23.8(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)':
dependencies:
- '@babel/compat-data': 7.28.5
- '@babel/core': 7.29.7
- '@babel/helper-compilation-targets': 7.27.2
- '@babel/helper-plugin-utils': 7.28.6
- '@babel/helper-validator-option': 7.27.1
- '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.23.3(@babel/core@7.29.7)
- '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.23.3(@babel/core@7.29.7)
- '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.23.7(@babel/core@7.29.7)
- '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.29.7)
- '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.29.7)
- '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.29.7)
- '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.29.7)
- '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.29.7)
- '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.29.7)
- '@babel/plugin-syntax-import-assertions': 7.23.3(@babel/core@7.29.7)
- '@babel/plugin-syntax-import-attributes': 7.28.6(@babel/core@7.29.7)
- '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.29.7)
- '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.29.7)
- '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.29.7)
- '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.29.7)
- '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.29.7)
- '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.29.7)
- '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.29.7)
- '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.29.7)
- '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.29.7)
- '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.29.7)
- '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.29.7)
- '@babel/plugin-transform-arrow-functions': 7.23.3(@babel/core@7.29.7)
- '@babel/plugin-transform-async-generator-functions': 7.23.7(@babel/core@7.29.7)
- '@babel/plugin-transform-async-to-generator': 7.23.3(@babel/core@7.29.7)
- '@babel/plugin-transform-block-scoped-functions': 7.23.3(@babel/core@7.29.7)
- '@babel/plugin-transform-block-scoping': 7.23.4(@babel/core@7.29.7)
- '@babel/plugin-transform-class-properties': 7.23.3(@babel/core@7.29.7)
- '@babel/plugin-transform-class-static-block': 7.23.4(@babel/core@7.29.7)
- '@babel/plugin-transform-classes': 7.23.8(@babel/core@7.29.7)
- '@babel/plugin-transform-computed-properties': 7.23.3(@babel/core@7.29.7)
- '@babel/plugin-transform-destructuring': 7.23.3(@babel/core@7.29.7)
- '@babel/plugin-transform-dotall-regex': 7.23.3(@babel/core@7.29.7)
- '@babel/plugin-transform-duplicate-keys': 7.23.3(@babel/core@7.29.7)
- '@babel/plugin-transform-dynamic-import': 7.23.4(@babel/core@7.29.7)
- '@babel/plugin-transform-exponentiation-operator': 7.23.3(@babel/core@7.29.7)
- '@babel/plugin-transform-export-namespace-from': 7.23.4(@babel/core@7.29.7)
- '@babel/plugin-transform-for-of': 7.23.6(@babel/core@7.29.7)
- '@babel/plugin-transform-function-name': 7.23.3(@babel/core@7.29.7)
- '@babel/plugin-transform-json-strings': 7.23.4(@babel/core@7.29.7)
- '@babel/plugin-transform-literals': 7.23.3(@babel/core@7.29.7)
- '@babel/plugin-transform-logical-assignment-operators': 7.23.4(@babel/core@7.29.7)
- '@babel/plugin-transform-member-expression-literals': 7.23.3(@babel/core@7.29.7)
- '@babel/plugin-transform-modules-amd': 7.23.3(@babel/core@7.29.7)
- '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.29.7)
- '@babel/plugin-transform-modules-systemjs': 7.29.7(@babel/core@7.29.7)
- '@babel/plugin-transform-modules-umd': 7.23.3(@babel/core@7.29.7)
- '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.29.7)
- '@babel/plugin-transform-new-target': 7.23.3(@babel/core@7.29.7)
- '@babel/plugin-transform-nullish-coalescing-operator': 7.23.4(@babel/core@7.29.7)
- '@babel/plugin-transform-numeric-separator': 7.23.4(@babel/core@7.29.7)
- '@babel/plugin-transform-object-rest-spread': 7.23.4(@babel/core@7.29.7)
- '@babel/plugin-transform-object-super': 7.23.3(@babel/core@7.29.7)
- '@babel/plugin-transform-optional-catch-binding': 7.23.4(@babel/core@7.29.7)
- '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.29.7)
- '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.29.7)
- '@babel/plugin-transform-private-methods': 7.23.3(@babel/core@7.29.7)
- '@babel/plugin-transform-private-property-in-object': 7.23.4(@babel/core@7.29.7)
- '@babel/plugin-transform-property-literals': 7.23.3(@babel/core@7.29.7)
- '@babel/plugin-transform-regenerator': 7.23.3(@babel/core@7.29.7)
- '@babel/plugin-transform-reserved-words': 7.23.3(@babel/core@7.29.7)
- '@babel/plugin-transform-shorthand-properties': 7.23.3(@babel/core@7.29.7)
- '@babel/plugin-transform-spread': 7.23.3(@babel/core@7.29.7)
- '@babel/plugin-transform-sticky-regex': 7.23.3(@babel/core@7.29.7)
- '@babel/plugin-transform-template-literals': 7.23.3(@babel/core@7.29.7)
- '@babel/plugin-transform-typeof-symbol': 7.23.3(@babel/core@7.29.7)
- '@babel/plugin-transform-unicode-escapes': 7.23.3(@babel/core@7.29.7)
- '@babel/plugin-transform-unicode-property-regex': 7.23.3(@babel/core@7.29.7)
- '@babel/plugin-transform-unicode-regex': 7.23.3(@babel/core@7.29.7)
- '@babel/plugin-transform-unicode-sets-regex': 7.23.3(@babel/core@7.29.7)
- '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.29.7)
- babel-plugin-polyfill-corejs2: 0.4.7(@babel/core@7.29.7)
- babel-plugin-polyfill-corejs3: 0.8.7(@babel/core@7.29.7)
- babel-plugin-polyfill-regenerator: 0.5.4(@babel/core@7.29.7)
+ '@babel/compat-data': 7.29.7
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-compilation-targets': 7.29.7
+ '@babel/helper-plugin-utils': 7.29.7
+ '@babel/helper-validator-option': 7.29.7
+ '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.23.3(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.23.3(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.23.7(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-syntax-import-assertions': 7.23.3(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-syntax-import-attributes': 7.28.6(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-transform-arrow-functions': 7.23.3(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-transform-async-generator-functions': 7.23.7(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-transform-async-to-generator': 7.23.3(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)
+ '@babel/plugin-transform-block-scoped-functions': 7.23.3(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-transform-block-scoping': 7.23.4(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-transform-class-properties': 7.23.3(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-transform-class-static-block': 7.23.4(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-transform-classes': 7.23.8(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-transform-computed-properties': 7.23.3(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-transform-destructuring': 7.23.3(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-transform-dotall-regex': 7.23.3(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-transform-duplicate-keys': 7.23.3(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-transform-dynamic-import': 7.23.4(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-transform-exponentiation-operator': 7.23.3(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-transform-export-namespace-from': 7.23.4(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-transform-for-of': 7.23.6(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-transform-function-name': 7.23.3(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-transform-json-strings': 7.23.4(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-transform-literals': 7.23.3(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-transform-logical-assignment-operators': 7.23.4(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-transform-member-expression-literals': 7.23.3(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-transform-modules-amd': 7.23.3(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)
+ '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)
+ '@babel/plugin-transform-modules-systemjs': 7.29.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)
+ '@babel/plugin-transform-modules-umd': 7.23.3(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)
+ '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-transform-new-target': 7.23.3(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-transform-nullish-coalescing-operator': 7.23.4(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-transform-numeric-separator': 7.23.4(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-transform-object-rest-spread': 7.23.4(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-transform-object-super': 7.23.3(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-transform-optional-catch-binding': 7.23.4(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-transform-private-methods': 7.23.3(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-transform-private-property-in-object': 7.23.4(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-transform-property-literals': 7.23.3(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-transform-regenerator': 7.23.3(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-transform-reserved-words': 7.23.3(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-transform-shorthand-properties': 7.23.3(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-transform-spread': 7.23.3(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-transform-sticky-regex': 7.23.3(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-transform-template-literals': 7.23.3(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-transform-typeof-symbol': 7.23.3(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-transform-unicode-escapes': 7.23.3(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-transform-unicode-property-regex': 7.23.3(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-transform-unicode-regex': 7.23.3(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-transform-unicode-sets-regex': 7.23.3(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.29.7(supports-color@7.2.0))
+ babel-plugin-polyfill-corejs2: 0.4.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)
+ babel-plugin-polyfill-corejs3: 0.8.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)
+ babel-plugin-polyfill-regenerator: 0.5.4(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)
core-js-compat: 3.35.0
semver: 6.3.1
transitivePeerDependencies:
- supports-color
- '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.29.7)':
+ '@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.29.7(supports-color@7.2.0))':
dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-plugin-utils': 7.28.6
- '@babel/types': 7.28.5
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-plugin-utils': 7.29.7
+ '@babel/types': 7.29.7
esutils: 2.0.3
- '@babel/preset-typescript@7.23.3(@babel/core@7.29.7)':
+ '@babel/preset-typescript@7.23.3(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)':
dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-plugin-utils': 7.28.6
- '@babel/helper-validator-option': 7.27.1
- '@babel/plugin-syntax-jsx': 7.28.6(@babel/core@7.29.7)
- '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.29.7)
- '@babel/plugin-transform-typescript': 7.23.6(@babel/core@7.29.7)
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-plugin-utils': 7.29.7
+ '@babel/helper-validator-option': 7.29.7
+ '@babel/plugin-syntax-jsx': 7.28.6(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)
+ '@babel/plugin-transform-typescript': 7.23.6(@babel/core@7.29.7(supports-color@7.2.0))
transitivePeerDependencies:
- supports-color
@@ -11730,43 +11545,25 @@ snapshots:
'@babel/runtime@7.29.2': {}
- '@babel/template@7.27.2':
- dependencies:
- '@babel/code-frame': 7.29.0
- '@babel/parser': 7.28.5
- '@babel/types': 7.28.5
-
'@babel/template@7.29.7':
dependencies:
'@babel/code-frame': 7.29.7
'@babel/parser': 7.29.7
'@babel/types': 7.29.7
- '@babel/traverse@7.27.0':
+ '@babel/traverse@7.27.0(supports-color@10.2.2)':
dependencies:
- '@babel/code-frame': 7.29.0
- '@babel/generator': 7.28.5
- '@babel/parser': 7.28.5
- '@babel/template': 7.27.2
- '@babel/types': 7.28.5
- debug: 4.4.3
+ '@babel/code-frame': 7.29.7
+ '@babel/generator': 7.29.7
+ '@babel/parser': 7.29.7
+ '@babel/template': 7.29.7
+ '@babel/types': 7.29.7
+ debug: 4.4.3(supports-color@10.2.2)
globals: 11.12.0
transitivePeerDependencies:
- supports-color
- '@babel/traverse@7.28.5':
- dependencies:
- '@babel/code-frame': 7.29.0
- '@babel/generator': 7.28.5
- '@babel/helper-globals': 7.28.0
- '@babel/parser': 7.28.5
- '@babel/template': 7.27.2
- '@babel/types': 7.28.5
- debug: 4.4.3
- transitivePeerDependencies:
- - supports-color
-
- '@babel/traverse@7.29.7':
+ '@babel/traverse@7.29.7(supports-color@10.2.2)':
dependencies:
'@babel/code-frame': 7.29.7
'@babel/generator': 7.29.7
@@ -11774,14 +11571,21 @@ snapshots:
'@babel/parser': 7.29.7
'@babel/template': 7.29.7
'@babel/types': 7.29.7
- debug: 4.4.3
+ debug: 4.4.3(supports-color@10.2.2)
transitivePeerDependencies:
- supports-color
- '@babel/types@7.28.5':
+ '@babel/traverse@7.29.7(supports-color@7.2.0)':
dependencies:
- '@babel/helper-string-parser': 7.27.1
- '@babel/helper-validator-identifier': 7.28.5
+ '@babel/code-frame': 7.29.7
+ '@babel/generator': 7.29.7
+ '@babel/helper-globals': 7.29.7
+ '@babel/parser': 7.29.7
+ '@babel/template': 7.29.7
+ '@babel/types': 7.29.7
+ debug: 4.4.3(supports-color@7.2.0)
+ transitivePeerDependencies:
+ - supports-color
'@babel/types@7.29.7':
dependencies:
@@ -11879,35 +11683,27 @@ snapshots:
dependencies:
'@emnapi/wasi-threads': 1.2.1
tslib: 2.8.1
- optional: true
- '@emnapi/core@1.8.1':
+ '@emnapi/core@1.4.5':
dependencies:
- '@emnapi/wasi-threads': 1.1.0
+ '@emnapi/wasi-threads': 1.0.4
tslib: 2.8.1
'@emnapi/runtime@1.10.0':
dependencies:
tslib: 2.8.1
- optional: true
- '@emnapi/runtime@1.5.0':
- dependencies:
- tslib: 2.8.1
- optional: true
-
- '@emnapi/runtime@1.9.1':
+ '@emnapi/runtime@1.4.5':
dependencies:
tslib: 2.8.1
- '@emnapi/wasi-threads@1.1.0':
+ '@emnapi/wasi-threads@1.0.4':
dependencies:
tslib: 2.8.1
'@emnapi/wasi-threads@1.2.1':
dependencies:
tslib: 2.8.1
- optional: true
'@epic-web/invariant@1.0.0': {}
@@ -11989,40 +11785,23 @@ snapshots:
'@esbuild/win32-x64@0.28.1':
optional: true
- '@eslint-community/eslint-utils@4.9.1(eslint@9.28.0(jiti@2.4.2))':
+ '@eslint-community/eslint-utils@4.9.1(eslint@9.28.0(jiti@2.4.2)(supports-color@10.2.2))':
dependencies:
- eslint: 9.28.0(jiti@2.4.2)
- eslint-visitor-keys: 3.4.3
-
- '@eslint-community/eslint-utils@4.9.1(eslint@9.39.4(jiti@2.4.2))':
- dependencies:
- eslint: 9.39.4(jiti@2.4.2)
+ eslint: 9.28.0(jiti@2.4.2)(supports-color@10.2.2)
eslint-visitor-keys: 3.4.3
'@eslint-community/regexpp@4.12.2': {}
- '@eslint/config-array@0.20.1':
+ '@eslint/config-array@0.20.1(supports-color@10.2.2)':
dependencies:
'@eslint/object-schema': 2.1.7
- debug: 4.4.3
- minimatch: 3.1.5
- transitivePeerDependencies:
- - supports-color
-
- '@eslint/config-array@0.21.2':
- dependencies:
- '@eslint/object-schema': 2.1.7
- debug: 4.4.3
+ debug: 4.4.3(supports-color@10.2.2)
minimatch: 3.1.5
transitivePeerDependencies:
- supports-color
'@eslint/config-helpers@0.2.3': {}
- '@eslint/config-helpers@0.4.2':
- dependencies:
- '@eslint/core': 0.17.0
-
'@eslint/core@0.14.0':
dependencies:
'@types/json-schema': 7.0.15
@@ -12031,19 +11810,15 @@ snapshots:
dependencies:
'@types/json-schema': 7.0.15
- '@eslint/core@0.17.0':
- dependencies:
- '@types/json-schema': 7.0.15
-
- '@eslint/eslintrc@3.3.5':
+ '@eslint/eslintrc@3.3.5(supports-color@10.2.2)':
dependencies:
ajv: 6.14.0
- debug: 4.4.3
+ debug: 4.4.3(supports-color@10.2.2)
espree: 10.4.0
globals: 14.0.0
ignore: 5.3.1
import-fresh: 3.3.0
- js-yaml: 4.3.0
+ js-yaml: 4.3.1
minimatch: 3.1.5
strip-json-comments: 3.1.1
transitivePeerDependencies:
@@ -12051,8 +11826,6 @@ snapshots:
'@eslint/js@9.28.0': {}
- '@eslint/js@9.39.4': {}
-
'@eslint/object-schema@2.1.7': {}
'@eslint/plugin-kit@0.3.5':
@@ -12060,11 +11833,6 @@ snapshots:
'@eslint/core': 0.15.2
levn: 0.4.1
- '@eslint/plugin-kit@0.4.1':
- dependencies:
- '@eslint/core': 0.17.0
- levn: 0.4.1
-
'@excalidraw/common@0.18.0-3a5ef40':
dependencies:
tinycolor2: 1.6.0
@@ -12095,7 +11863,7 @@ snapshots:
jotai-scope: 0.7.2(jotai@2.11.0(@types/react@19.2.17)(react@19.2.7))(react@19.2.7)
lodash.debounce: 4.0.8
lodash.throttle: 4.1.1
- nanoid: 3.3.8
+ nanoid: 3.3.18
pako: 2.0.3
perfect-freehand: 1.2.0
pica: 7.1.1
@@ -12127,7 +11895,7 @@ snapshots:
dependencies:
'@excalidraw/markdown-to-text': 0.1.2
'@mermaid-js/parser': 0.6.3
- mermaid: 11.15.0
+ mermaid: 11.16.1
nanoid: 5.1.16
'@excalidraw/random-username@1.1.0': {}
@@ -12138,18 +11906,18 @@ snapshots:
dependencies:
ajv: 8.18.0
ajv-formats: 3.0.1(ajv@8.18.0)
- fast-uri: 3.1.3
+ fast-uri: 3.1.5
'@fastify/busboy@3.1.1': {}
- '@fastify/cookie@11.0.2':
+ '@fastify/cookie@11.1.2':
dependencies:
- cookie: 1.1.1
- fastify-plugin: 5.0.1
+ cookie: 2.0.1
+ fastify-plugin: 6.0.0
- '@fastify/cors@11.2.0':
+ '@fastify/cors@11.3.0':
dependencies:
- fastify-plugin: 5.1.0
+ fastify-plugin: 6.0.0
toad-cache: 3.7.0
'@fastify/deepmerge@3.1.0': {}
@@ -12171,12 +11939,12 @@ snapshots:
dependencies:
dequal: 2.0.3
- '@fastify/multipart@10.0.0':
+ '@fastify/multipart@10.1.1':
dependencies:
'@fastify/busboy': 3.1.1
'@fastify/deepmerge': 3.1.0
'@fastify/error': 4.0.0
- fastify-plugin: 5.1.0
+ fastify-plugin: 6.0.0
secure-json-parse: 4.0.0
'@fastify/proxy-addr@5.0.0':
@@ -12192,44 +11960,30 @@ snapshots:
http-errors: 2.0.1
mime: 3.0.0
- '@fastify/static@9.1.3':
+ '@fastify/static@10.1.3':
dependencies:
'@fastify/accept-negotiator': 2.0.1
+ '@fastify/error': 4.0.0
'@fastify/send': 4.1.0
- content-disposition: 1.0.1
- fastify-plugin: 5.1.0
+ content-disposition: 2.0.1
+ fastify-plugin: 6.0.0
fastq: 1.17.1
glob: 13.0.6
- '@floating-ui/core@1.7.3':
- dependencies:
- '@floating-ui/utils': 0.2.10
-
'@floating-ui/core@1.7.5':
dependencies:
'@floating-ui/utils': 0.2.11
'@floating-ui/dom@1.7.3':
dependencies:
- '@floating-ui/core': 1.7.3
- '@floating-ui/utils': 0.2.10
-
- '@floating-ui/dom@1.7.4':
- dependencies:
- '@floating-ui/core': 1.7.3
- '@floating-ui/utils': 0.2.10
+ '@floating-ui/core': 1.7.5
+ '@floating-ui/utils': 0.2.11
'@floating-ui/dom@1.7.6':
dependencies:
'@floating-ui/core': 1.7.5
'@floating-ui/utils': 0.2.11
- '@floating-ui/react-dom@2.1.6(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
- dependencies:
- '@floating-ui/dom': 1.7.4
- react: 19.2.7
- react-dom: 19.2.7(react@19.2.7)
-
'@floating-ui/react-dom@2.1.8(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@floating-ui/dom': 1.7.6
@@ -12244,31 +11998,29 @@ snapshots:
react-dom: 19.2.7(react@19.2.7)
tabbable: 6.2.0
- '@floating-ui/utils@0.2.10': {}
-
'@floating-ui/utils@0.2.11': {}
- '@hocuspocus/common@4.4.0':
+ '@hocuspocus/common@4.5.0':
dependencies:
lib0: 0.2.117
- '@hocuspocus/provider-react@4.4.0(@hocuspocus/provider@4.4.0(y-protocols@1.0.6(yjs@13.6.30))(yjs@13.6.30))(react@19.2.7)(yjs@13.6.30)':
+ '@hocuspocus/provider-react@4.5.0(@hocuspocus/provider@4.5.0(y-protocols@1.0.6(yjs@13.6.30))(yjs@13.6.30))(react@19.2.7)(yjs@13.6.30)':
dependencies:
- '@hocuspocus/provider': 4.4.0(y-protocols@1.0.6(yjs@13.6.30))(yjs@13.6.30)
+ '@hocuspocus/provider': 4.5.0(y-protocols@1.0.6(yjs@13.6.30))(yjs@13.6.30)
react: 19.2.7
yjs: 13.6.30
- '@hocuspocus/provider@4.4.0(y-protocols@1.0.6(yjs@13.6.30))(yjs@13.6.30)':
+ '@hocuspocus/provider@4.5.0(y-protocols@1.0.6(yjs@13.6.30))(yjs@13.6.30)':
dependencies:
- '@hocuspocus/common': 4.4.0
- '@lifeomic/attempt': 3.0.3
+ '@hocuspocus/common': 4.5.0
+ '@lifeomic/attempt': 3.1.0
lib0: 0.2.117
y-protocols: 1.0.6(yjs@13.6.30)
yjs: 13.6.30
- '@hocuspocus/server@4.4.0(y-protocols@1.0.6(yjs@13.6.30))(yjs@13.6.30)':
+ '@hocuspocus/server@4.5.0(y-protocols@1.0.6(yjs@13.6.30))(yjs@13.6.30)':
dependencies:
- '@hocuspocus/common': 4.4.0
+ '@hocuspocus/common': 4.5.0
async-mutex: 0.5.0
crossws: 0.4.10
kleur: 4.1.5
@@ -12278,17 +12030,17 @@ snapshots:
transitivePeerDependencies:
- srvx
- '@hocuspocus/transformer@4.4.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0)(y-prosemirror@1.3.7(prosemirror-model@1.25.9)(prosemirror-state@1.4.4)(prosemirror-view@1.41.9)(y-protocols@1.0.6(yjs@13.6.30))(yjs@13.6.30))(yjs@13.6.30)':
+ '@hocuspocus/transformer@4.5.0(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2)(y-prosemirror@1.3.7(prosemirror-model@1.25.11)(prosemirror-state@1.4.4)(prosemirror-view@1.41.9)(y-protocols@1.0.6(yjs@13.6.30))(yjs@13.6.30))(yjs@13.6.30)':
dependencies:
- '@tiptap/core': 3.28.0(@tiptap/pm@3.28.0)
- '@tiptap/pm': 3.28.0
- '@tiptap/starter-kit': 3.28.0
- y-prosemirror: 1.3.7(prosemirror-model@1.25.9)(prosemirror-state@1.4.4)(prosemirror-view@1.41.9)(y-protocols@1.0.6(yjs@13.6.30))(yjs@13.6.30)
+ '@tiptap/core': 3.29.2(@tiptap/pm@3.29.2)
+ '@tiptap/pm': 3.29.2
+ '@tiptap/starter-kit': 3.29.2
+ y-prosemirror: 1.3.7(prosemirror-model@1.25.11)(prosemirror-state@1.4.4)(prosemirror-view@1.41.9)(y-protocols@1.0.6(yjs@13.6.30))(yjs@13.6.30)
yjs: 13.6.30
- '@hono/node-server@1.19.13(hono@4.12.25)':
+ '@hono/node-server@2.0.12(hono@4.12.34)':
dependencies:
- hono: 4.12.25
+ hono: 4.12.34
'@humanfs/core@0.19.1': {}
@@ -12458,7 +12210,7 @@ snapshots:
camelcase: 5.3.1
find-up: 4.1.0
get-package-type: 0.1.0
- js-yaml: 3.15.0
+ js-yaml: 3.15.1
resolve-from: 5.0.0
'@istanbuljs/schema@0.1.3': {}
@@ -12472,13 +12224,13 @@ snapshots:
jest-util: 30.3.0
slash: 3.0.0
- '@jest/core@30.3.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.5))(@types/node@25.5.0)(typescript@5.9.3))':
+ '@jest/core@30.3.0(babel-plugin-macros@3.1.0)(supports-color@10.2.2)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.5))(@types/node@25.5.0)(typescript@5.9.3))':
dependencies:
'@jest/console': 30.3.0
'@jest/pattern': 30.0.1
- '@jest/reporters': 30.3.0
+ '@jest/reporters': 30.3.0(supports-color@10.2.2)
'@jest/test-result': 30.3.0
- '@jest/transform': 30.3.0
+ '@jest/transform': 30.3.0(supports-color@10.2.2)
'@jest/types': 30.3.0
'@types/node': 25.5.0
ansi-escapes: 4.3.2
@@ -12487,15 +12239,15 @@ snapshots:
exit-x: 0.2.2
graceful-fs: 4.2.11
jest-changed-files: 30.3.0
- jest-config: 30.3.0(@types/node@25.5.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.5))(@types/node@25.5.0)(typescript@5.9.3))
+ jest-config: 30.3.0(@types/node@25.5.0)(babel-plugin-macros@3.1.0)(supports-color@10.2.2)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.5))(@types/node@25.5.0)(typescript@5.9.3))
jest-haste-map: 30.3.0
jest-message-util: 30.3.0
jest-regex-util: 30.0.1
jest-resolve: 30.3.0
- jest-resolve-dependencies: 30.3.0
- jest-runner: 30.3.0
- jest-runtime: 30.3.0
- jest-snapshot: 30.3.0
+ jest-resolve-dependencies: 30.3.0(supports-color@10.2.2)
+ jest-runner: 30.3.0(supports-color@10.2.2)
+ jest-runtime: 30.3.0(supports-color@10.2.2)
+ jest-snapshot: 30.3.0(supports-color@10.2.2)
jest-util: 30.3.0
jest-validate: 30.3.0
jest-watcher: 30.3.0
@@ -12518,18 +12270,14 @@ snapshots:
'@types/node': 25.5.0
jest-mock: 30.3.0
- '@jest/expect-utils@30.2.0':
- dependencies:
- '@jest/get-type': 30.1.0
-
'@jest/expect-utils@30.3.0':
dependencies:
'@jest/get-type': 30.1.0
- '@jest/expect@30.3.0':
+ '@jest/expect@30.3.0(supports-color@10.2.2)':
dependencies:
expect: 30.3.0
- jest-snapshot: 30.3.0
+ jest-snapshot: 30.3.0(supports-color@10.2.2)
transitivePeerDependencies:
- supports-color
@@ -12544,10 +12292,10 @@ snapshots:
'@jest/get-type@30.1.0': {}
- '@jest/globals@30.3.0':
+ '@jest/globals@30.3.0(supports-color@10.2.2)':
dependencies:
'@jest/environment': 30.3.0
- '@jest/expect': 30.3.0
+ '@jest/expect': 30.3.0(supports-color@10.2.2)
'@jest/types': 30.3.0
jest-mock: 30.3.0
transitivePeerDependencies:
@@ -12558,12 +12306,12 @@ snapshots:
'@types/node': 25.5.0
jest-regex-util: 30.0.1
- '@jest/reporters@30.3.0':
+ '@jest/reporters@30.3.0(supports-color@10.2.2)':
dependencies:
'@bcoe/v8-coverage': 0.2.3
'@jest/console': 30.3.0
'@jest/test-result': 30.3.0
- '@jest/transform': 30.3.0
+ '@jest/transform': 30.3.0(supports-color@10.2.2)
'@jest/types': 30.3.0
'@jridgewell/trace-mapping': 0.3.31
'@types/node': 25.5.0
@@ -12573,9 +12321,9 @@ snapshots:
glob: 13.0.6
graceful-fs: 4.2.11
istanbul-lib-coverage: 3.2.2
- istanbul-lib-instrument: 6.0.2
+ istanbul-lib-instrument: 6.0.2(supports-color@10.2.2)
istanbul-lib-report: 3.0.1
- istanbul-lib-source-maps: 5.0.6
+ istanbul-lib-source-maps: 5.0.6(supports-color@10.2.2)
istanbul-reports: 3.1.7
jest-message-util: 30.3.0
jest-util: 30.3.0
@@ -12617,12 +12365,12 @@ snapshots:
jest-haste-map: 30.3.0
slash: 3.0.0
- '@jest/transform@30.3.0':
+ '@jest/transform@30.3.0(supports-color@10.2.2)':
dependencies:
- '@babel/core': 7.29.7
+ '@babel/core': 7.29.7(supports-color@10.2.2)
'@jest/types': 30.3.0
'@jridgewell/trace-mapping': 0.3.31
- babel-plugin-istanbul: 7.0.1
+ babel-plugin-istanbul: 7.0.1(supports-color@10.2.2)
chalk: 4.1.2
convert-source-map: 2.0.0
fast-json-stable-stringify: 2.1.0
@@ -12636,16 +12384,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@jest/types@30.2.0':
- dependencies:
- '@jest/pattern': 30.0.1
- '@jest/schemas': 30.0.5
- '@types/istanbul-lib-coverage': 2.0.6
- '@types/istanbul-reports': 3.0.4
- '@types/node': 25.5.0
- '@types/yargs': 17.0.35
- chalk: 4.1.2
-
'@jest/types@30.3.0':
dependencies:
'@jest/pattern': 30.0.1
@@ -12658,11 +12396,11 @@ snapshots:
'@joplin/turndown-plugin-gfm@1.0.64': {}
- '@joplin/turndown@4.0.82':
+ '@joplin/turndown@4.0.82(supports-color@7.2.0)':
dependencies:
'@adobe/css-tools': 4.4.3
html-entities: 1.4.0
- jsdom: 26.1.0
+ jsdom: 26.1.0(supports-color@7.2.0)
transitivePeerDependencies:
- bufferutil
- canvas
@@ -12686,8 +12424,6 @@ snapshots:
'@jridgewell/gen-mapping': 0.3.13
'@jridgewell/trace-mapping': 0.3.31
- '@jridgewell/sourcemap-codec@1.5.0': {}
-
'@jridgewell/sourcemap-codec@1.5.5': {}
'@jridgewell/trace-mapping@0.3.31':
@@ -12698,7 +12434,7 @@ snapshots:
'@jridgewell/trace-mapping@0.3.9':
dependencies:
'@jridgewell/resolve-uri': 3.1.2
- '@jridgewell/sourcemap-codec': 1.5.0
+ '@jridgewell/sourcemap-codec': 1.5.5
'@keyv/redis@5.1.6(keyv@5.6.0)':
dependencies:
@@ -12711,12 +12447,12 @@ snapshots:
'@keyv/serialize@1.1.1': {}
- '@langchain/core@1.1.46(@opentelemetry/api@1.9.0)(@opentelemetry/sdk-trace-base@2.2.0(@opentelemetry/api@1.9.0))(openai@6.2.0(ws@8.21.0)(zod@4.3.6))(ws@8.21.0)':
+ '@langchain/core@1.1.46(@opentelemetry/api@1.9.0)(@opentelemetry/sdk-trace-base@2.2.0(@opentelemetry/api@1.9.0))(openai@6.2.0(ws@8.21.3)(zod@4.3.6))(ws@8.21.3)':
dependencies:
'@cfworker/json-schema': 4.1.1
'@standard-schema/spec': 1.1.0
js-tiktoken: 1.0.21
- langsmith: 0.7.0(@opentelemetry/api@1.9.0)(@opentelemetry/sdk-trace-base@2.2.0(@opentelemetry/api@1.9.0))(openai@6.2.0(ws@8.21.0)(zod@4.3.6))(ws@8.21.0)
+ langsmith: 0.8.9(@opentelemetry/api@1.9.0)(@opentelemetry/sdk-trace-base@2.2.0(@opentelemetry/api@1.9.0))(openai@6.2.0(ws@8.21.3)(zod@4.3.6))(ws@8.21.3)
mustache: 4.2.0
p-queue: 6.6.2
zod: 4.3.6
@@ -12727,14 +12463,12 @@ snapshots:
- openai
- ws
- '@langchain/textsplitters@1.0.1(@langchain/core@1.1.46(@opentelemetry/api@1.9.0)(@opentelemetry/sdk-trace-base@2.2.0(@opentelemetry/api@1.9.0))(openai@6.2.0(ws@8.21.0)(zod@4.3.6))(ws@8.21.0))':
+ '@langchain/textsplitters@1.0.1(@langchain/core@1.1.46(@opentelemetry/api@1.9.0)(@opentelemetry/sdk-trace-base@2.2.0(@opentelemetry/api@1.9.0))(openai@6.2.0(ws@8.21.3)(zod@4.3.6))(ws@8.21.3))':
dependencies:
- '@langchain/core': 1.1.46(@opentelemetry/api@1.9.0)(@opentelemetry/sdk-trace-base@2.2.0(@opentelemetry/api@1.9.0))(openai@6.2.0(ws@8.21.0)(zod@4.3.6))(ws@8.21.0)
+ '@langchain/core': 1.1.46(@opentelemetry/api@1.9.0)(@opentelemetry/sdk-trace-base@2.2.0(@opentelemetry/api@1.9.0))(openai@6.2.0(ws@8.21.3)(zod@4.3.6))(ws@8.21.3)
js-tiktoken: 1.0.21
- '@lifeomic/attempt@3.0.3': {}
-
- '@ltd/j-toml@1.38.0': {}
+ '@lifeomic/attempt@3.1.0': {}
'@lukeed/csprng@1.1.0': {}
@@ -12753,12 +12487,12 @@ snapshots:
transitivePeerDependencies:
- '@types/react'
- '@mantine/dates@9.3.2(@mantine/core@9.3.2(@mantine/hooks@9.3.2(react@19.2.7))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@mantine/hooks@9.3.2(react@19.2.7))(dayjs@1.11.19)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ '@mantine/dates@9.3.2(@mantine/core@9.3.2(@mantine/hooks@9.3.2(react@19.2.7))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(@mantine/hooks@9.3.2(react@19.2.7))(dayjs@1.11.21)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
'@mantine/core': 9.3.2(@mantine/hooks@9.3.2(react@19.2.7))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@mantine/hooks': 9.3.2(react@19.2.7)
clsx: 2.1.1
- dayjs: 1.11.19
+ dayjs: 1.11.21
react: 19.2.7
react-dom: 19.2.7(react@19.2.7)
@@ -12805,13 +12539,13 @@ snapshots:
dependencies:
langium: 3.3.1
- '@mermaid-js/parser@1.1.1':
+ '@mermaid-js/parser@1.2.0':
dependencies:
'@chevrotain/types': 11.1.2
- '@modelcontextprotocol/sdk@1.29.0(@cfworker/json-schema@4.1.1)(zod@4.3.6)':
+ '@modelcontextprotocol/sdk@1.30.0(@cfworker/json-schema@4.1.1)(supports-color@10.2.2)(zod@4.3.6)':
dependencies:
- '@hono/node-server': 1.19.13(hono@4.12.25)
+ '@hono/node-server': 2.0.12(hono@4.12.34)
ajv: 8.18.0
ajv-formats: 3.0.1(ajv@8.18.0)
content-type: 1.0.5
@@ -12819,9 +12553,9 @@ snapshots:
cross-spawn: 7.0.6
eventsource: 3.0.7
eventsource-parser: 3.0.6
- express: 5.2.1
- express-rate-limit: 8.2.2(express@5.2.1)
- hono: 4.12.25
+ express: 5.2.1(supports-color@10.2.2)
+ express-rate-limit: 8.2.2(express@5.2.1(supports-color@10.2.2))
+ hono: 4.12.34
jose: 6.1.3
json-schema-typed: 8.0.2
pkce-challenge: 5.0.1
@@ -12833,53 +12567,35 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@msgpackr-extract/msgpackr-extract-darwin-arm64@3.0.2':
- optional: true
-
'@msgpackr-extract/msgpackr-extract-darwin-arm64@3.0.4':
optional: true
- '@msgpackr-extract/msgpackr-extract-darwin-x64@3.0.2':
- optional: true
-
'@msgpackr-extract/msgpackr-extract-darwin-x64@3.0.4':
optional: true
- '@msgpackr-extract/msgpackr-extract-linux-arm64@3.0.2':
- optional: true
-
'@msgpackr-extract/msgpackr-extract-linux-arm64@3.0.4':
optional: true
- '@msgpackr-extract/msgpackr-extract-linux-arm@3.0.2':
- optional: true
-
'@msgpackr-extract/msgpackr-extract-linux-arm@3.0.4':
optional: true
- '@msgpackr-extract/msgpackr-extract-linux-x64@3.0.2':
- optional: true
-
'@msgpackr-extract/msgpackr-extract-linux-x64@3.0.4':
optional: true
- '@msgpackr-extract/msgpackr-extract-win32-x64@3.0.2':
- optional: true
-
'@msgpackr-extract/msgpackr-extract-win32-x64@3.0.4':
optional: true
'@napi-rs/wasm-runtime@0.2.12':
dependencies:
- '@emnapi/core': 1.8.1
- '@emnapi/runtime': 1.5.0
- '@tybys/wasm-util': 0.10.1
+ '@emnapi/core': 1.10.0
+ '@emnapi/runtime': 1.10.0
+ '@tybys/wasm-util': 0.10.2
optional: true
'@napi-rs/wasm-runtime@0.2.4':
dependencies:
- '@emnapi/core': 1.8.1
- '@emnapi/runtime': 1.9.1
+ '@emnapi/core': 1.10.0
+ '@emnapi/runtime': 1.10.0
'@tybys/wasm-util': 0.9.0
'@napi-rs/wasm-runtime@1.1.5(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)':
@@ -12889,45 +12605,45 @@ snapshots:
'@tybys/wasm-util': 0.10.2
optional: true
- '@nest-lab/throttler-storage-redis@1.2.0(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.27)(@nestjs/throttler@6.5.0(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.27)(reflect-metadata@0.2.2))(ioredis@5.10.1)(reflect-metadata@0.2.2)':
+ '@nest-lab/throttler-storage-redis@1.2.0(@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2))(@nestjs/core@11.2.1)(@nestjs/throttler@6.5.0(@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2))(@nestjs/core@11.2.1)(reflect-metadata@0.2.2))(ioredis@5.10.1(supports-color@10.2.2))(reflect-metadata@0.2.2)':
dependencies:
- '@nestjs/common': 11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)
- '@nestjs/core': 11.1.27(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/websockets@11.1.27)(reflect-metadata@0.2.2)(rxjs@7.8.2)
- '@nestjs/throttler': 6.5.0(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.27)(reflect-metadata@0.2.2)
- ioredis: 5.10.1
+ '@nestjs/common': 11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2)
+ '@nestjs/core': 11.2.1(@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2))(@nestjs/websockets@11.2.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)
+ '@nestjs/throttler': 6.5.0(@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2))(@nestjs/core@11.2.1)(reflect-metadata@0.2.2)
+ ioredis: 5.10.1(supports-color@10.2.2)
reflect-metadata: 0.2.2
tslib: 2.8.1
- '@nestjs-labs/nestjs-ioredis@11.0.4(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.27)(ioredis@5.10.1)':
+ '@nestjs-labs/nestjs-ioredis@11.0.4(@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2))(@nestjs/core@11.2.1)(ioredis@5.10.1(supports-color@10.2.2))':
dependencies:
- '@nestjs/common': 11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)
- '@nestjs/core': 11.1.27(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/websockets@11.1.27)(reflect-metadata@0.2.2)(rxjs@7.8.2)
- ioredis: 5.10.1
+ '@nestjs/common': 11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2)
+ '@nestjs/core': 11.2.1(@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2))(@nestjs/websockets@11.2.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)
+ ioredis: 5.10.1(supports-color@10.2.2)
tslib: 2.8.1
- '@nestjs/bull-shared@11.0.4(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.27)':
+ '@nestjs/bull-shared@11.0.5(@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2))(@nestjs/core@11.2.1)':
dependencies:
- '@nestjs/common': 11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)
- '@nestjs/core': 11.1.27(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/websockets@11.1.27)(reflect-metadata@0.2.2)(rxjs@7.8.2)
+ '@nestjs/common': 11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2)
+ '@nestjs/core': 11.2.1(@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2))(@nestjs/websockets@11.2.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)
tslib: 2.8.1
- '@nestjs/bullmq@11.0.4(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.27)(bullmq@5.79.0)':
+ '@nestjs/bullmq@11.0.5(@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2))(@nestjs/core@11.2.1)(bullmq@5.79.0(supports-color@10.2.2))':
dependencies:
- '@nestjs/bull-shared': 11.0.4(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.27)
- '@nestjs/common': 11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)
- '@nestjs/core': 11.1.27(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/websockets@11.1.27)(reflect-metadata@0.2.2)(rxjs@7.8.2)
- bullmq: 5.79.0
+ '@nestjs/bull-shared': 11.0.5(@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2))(@nestjs/core@11.2.1)
+ '@nestjs/common': 11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2)
+ '@nestjs/core': 11.2.1(@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2))(@nestjs/websockets@11.2.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)
+ bullmq: 5.79.0(supports-color@10.2.2)
tslib: 2.8.1
- '@nestjs/cache-manager@3.1.3(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.27)(cache-manager@7.2.8)(keyv@5.6.0)(rxjs@7.8.2)':
+ '@nestjs/cache-manager@3.1.3(@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2))(@nestjs/core@11.2.1)(cache-manager@7.2.8)(keyv@5.6.0)(rxjs@7.8.2)':
dependencies:
- '@nestjs/common': 11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)
- '@nestjs/core': 11.1.27(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/websockets@11.1.27)(reflect-metadata@0.2.2)(rxjs@7.8.2)
+ '@nestjs/common': 11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2)
+ '@nestjs/core': 11.2.1(@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2))(@nestjs/websockets@11.2.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)
cache-manager: 7.2.8
keyv: 5.6.0
rxjs: 7.8.2
- '@nestjs/cli@11.0.21(@swc/core@1.5.25(@swc/helpers@0.5.5))(@types/node@25.5.0)':
+ '@nestjs/cli@11.0.21(@swc/core@1.5.25(@swc/helpers@0.5.5))(@types/node@25.5.0)(esbuild@0.28.1)(uglify-js@3.19.3)':
dependencies:
'@angular-devkit/core': 19.2.24(chokidar@4.0.3)
'@angular-devkit/schematics': 19.2.24(chokidar@4.0.3)
@@ -12938,14 +12654,14 @@ snapshots:
chokidar: 4.0.3
cli-table3: 0.6.5
commander: 4.1.1
- fork-ts-checker-webpack-plugin: 9.1.0(typescript@5.9.3)(webpack@5.106.0(@swc/core@1.5.25(@swc/helpers@0.5.5)))
+ fork-ts-checker-webpack-plugin: 9.1.0(typescript@5.9.3)(webpack@5.106.0(@swc/core@1.5.25(@swc/helpers@0.5.5))(esbuild@0.28.1)(uglify-js@3.19.3))
glob: 13.0.6
node-emoji: 1.11.0
ora: 5.4.1
tsconfig-paths: 4.2.0
tsconfig-paths-webpack-plugin: 4.2.0
typescript: 5.9.3
- webpack: 5.106.0(@swc/core@1.5.25(@swc/helpers@0.5.5))
+ webpack: 5.106.0(@swc/core@1.5.25(@swc/helpers@0.5.5))(esbuild@0.28.1)(uglify-js@3.19.3)
webpack-node-externals: 3.0.0
optionalDependencies:
'@swc/core': 1.5.25(@swc/helpers@0.5.5)
@@ -12955,9 +12671,9 @@ snapshots:
- uglify-js
- webpack-cli
- '@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)':
+ '@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2)':
dependencies:
- file-type: 21.3.4
+ file-type: 21.3.4(supports-color@10.2.2)
iterare: 1.2.1
load-esm: 1.0.3
reflect-metadata: 0.2.2
@@ -12970,85 +12686,85 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@nestjs/config@4.0.4(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(rxjs@7.8.2)':
+ '@nestjs/config@4.0.4(@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2))(rxjs@7.8.2)':
dependencies:
- '@nestjs/common': 11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)
+ '@nestjs/common': 11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2)
dotenv: 17.4.1
dotenv-expand: 12.0.3
lodash: 4.18.1
rxjs: 7.8.2
- '@nestjs/core@11.1.27(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/websockets@11.1.27)(reflect-metadata@0.2.2)(rxjs@7.8.2)':
+ '@nestjs/core@11.2.1(@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2))(@nestjs/websockets@11.2.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)':
dependencies:
- '@nestjs/common': 11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)
+ '@nestjs/common': 11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2)
fast-safe-stringify: 2.1.1
iterare: 1.2.1
- path-to-regexp: 8.4.0
+ path-to-regexp: 8.4.2
reflect-metadata: 0.2.2
rxjs: 7.8.2
tslib: 2.8.1
uid: 2.0.2
optionalDependencies:
- '@nestjs/websockets': 11.1.27(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.27)(@nestjs/platform-socket.io@11.1.27)(reflect-metadata@0.2.2)(rxjs@7.8.2)
+ '@nestjs/websockets': 11.2.1(@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2))(@nestjs/core@11.2.1)(@nestjs/platform-socket.io@11.2.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)
- '@nestjs/event-emitter@3.1.0(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.27)':
+ '@nestjs/event-emitter@3.1.0(@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2))(@nestjs/core@11.2.1)':
dependencies:
- '@nestjs/common': 11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)
- '@nestjs/core': 11.1.27(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/websockets@11.1.27)(reflect-metadata@0.2.2)(rxjs@7.8.2)
+ '@nestjs/common': 11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2)
+ '@nestjs/core': 11.2.1(@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2))(@nestjs/websockets@11.2.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)
eventemitter2: 6.4.9
- '@nestjs/jwt@11.0.2(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))':
+ '@nestjs/jwt@11.0.2(@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2))':
dependencies:
- '@nestjs/common': 11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)
+ '@nestjs/common': 11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2)
'@types/jsonwebtoken': 9.0.10
jsonwebtoken: 9.0.3
- '@nestjs/mapped-types@2.1.1(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)':
+ '@nestjs/mapped-types@2.1.1(@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2))(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)':
dependencies:
- '@nestjs/common': 11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)
+ '@nestjs/common': 11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2)
reflect-metadata: 0.2.2
optionalDependencies:
class-transformer: 0.5.1
class-validator: 0.15.1
- '@nestjs/passport@11.0.5(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(passport@0.7.0)':
+ '@nestjs/passport@11.0.5(@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2))(passport@0.7.0)':
dependencies:
- '@nestjs/common': 11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)
+ '@nestjs/common': 11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2)
passport: 0.7.0
- '@nestjs/platform-fastify@11.1.27(@fastify/static@9.1.3)(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.27)':
+ '@nestjs/platform-fastify@11.2.1(@fastify/static@10.1.3)(@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2))(@nestjs/core@11.2.1)':
dependencies:
- '@fastify/cors': 11.2.0
+ '@fastify/cors': 11.3.0
'@fastify/formbody': 8.0.2
- '@nestjs/common': 11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)
- '@nestjs/core': 11.1.27(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/websockets@11.1.27)(reflect-metadata@0.2.2)(rxjs@7.8.2)
+ '@nestjs/common': 11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2)
+ '@nestjs/core': 11.2.1(@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2))(@nestjs/websockets@11.2.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)
fast-querystring: 1.1.2
- fastify: 5.8.5
+ fastify: 5.11.3
fastify-plugin: 6.0.0
- find-my-way: 9.6.0
+ find-my-way: 9.7.0
light-my-request: 6.6.0
- path-to-regexp: 8.4.0
+ path-to-regexp: 8.4.2
reusify: 1.1.0
tslib: 2.8.1
optionalDependencies:
- '@fastify/static': 9.1.3
+ '@fastify/static': 10.1.3
- '@nestjs/platform-socket.io@11.1.27(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/websockets@11.1.27)(rxjs@7.8.2)':
+ '@nestjs/platform-socket.io@11.2.1(@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2))(@nestjs/websockets@11.2.1)(rxjs@7.8.2)(supports-color@10.2.2)':
dependencies:
- '@nestjs/common': 11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)
- '@nestjs/websockets': 11.1.27(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.27)(@nestjs/platform-socket.io@11.1.27)(reflect-metadata@0.2.2)(rxjs@7.8.2)
+ '@nestjs/common': 11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2)
+ '@nestjs/websockets': 11.2.1(@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2))(@nestjs/core@11.2.1)(@nestjs/platform-socket.io@11.2.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)
rxjs: 7.8.2
- socket.io: 4.8.3
+ socket.io: 4.8.3(supports-color@10.2.2)
tslib: 2.8.1
transitivePeerDependencies:
- bufferutil
- supports-color
- utf-8-validate
- '@nestjs/schedule@6.1.3(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.27)':
+ '@nestjs/schedule@6.1.3(@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2))(@nestjs/core@11.2.1)':
dependencies:
- '@nestjs/common': 11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)
- '@nestjs/core': 11.1.27(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/websockets@11.1.27)(reflect-metadata@0.2.2)(rxjs@7.8.2)
+ '@nestjs/common': 11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2)
+ '@nestjs/core': 11.2.1(@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2))(@nestjs/websockets@11.2.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)
cron: 4.4.0
'@nestjs/schematics@11.0.10(chokidar@4.0.3)(typescript@5.9.3)':
@@ -13062,38 +12778,38 @@ snapshots:
transitivePeerDependencies:
- chokidar
- '@nestjs/terminus@11.1.1(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.27)(reflect-metadata@0.2.2)(rxjs@7.8.2)':
+ '@nestjs/terminus@11.1.1(@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2))(@nestjs/core@11.2.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)':
dependencies:
- '@nestjs/common': 11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)
- '@nestjs/core': 11.1.27(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/websockets@11.1.27)(reflect-metadata@0.2.2)(rxjs@7.8.2)
+ '@nestjs/common': 11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2)
+ '@nestjs/core': 11.2.1(@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2))(@nestjs/websockets@11.2.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)
boxen: 5.1.2
check-disk-space: 3.4.0
reflect-metadata: 0.2.2
rxjs: 7.8.2
- '@nestjs/testing@11.1.19(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.27)':
+ '@nestjs/testing@11.1.19(@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2))(@nestjs/core@11.2.1)':
dependencies:
- '@nestjs/common': 11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)
- '@nestjs/core': 11.1.27(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/websockets@11.1.27)(reflect-metadata@0.2.2)(rxjs@7.8.2)
+ '@nestjs/common': 11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2)
+ '@nestjs/core': 11.2.1(@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2))(@nestjs/websockets@11.2.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)
tslib: 2.8.1
- '@nestjs/throttler@6.5.0(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.27)(reflect-metadata@0.2.2)':
+ '@nestjs/throttler@6.5.0(@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2))(@nestjs/core@11.2.1)(reflect-metadata@0.2.2)':
dependencies:
- '@nestjs/common': 11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)
- '@nestjs/core': 11.1.27(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/websockets@11.1.27)(reflect-metadata@0.2.2)(rxjs@7.8.2)
+ '@nestjs/common': 11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2)
+ '@nestjs/core': 11.2.1(@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2))(@nestjs/websockets@11.2.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)
reflect-metadata: 0.2.2
- '@nestjs/websockets@11.1.27(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.27)(@nestjs/platform-socket.io@11.1.27)(reflect-metadata@0.2.2)(rxjs@7.8.2)':
+ '@nestjs/websockets@11.2.1(@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2))(@nestjs/core@11.2.1)(@nestjs/platform-socket.io@11.2.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)':
dependencies:
- '@nestjs/common': 11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)
- '@nestjs/core': 11.1.27(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/websockets@11.1.27)(reflect-metadata@0.2.2)(rxjs@7.8.2)
+ '@nestjs/common': 11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2)
+ '@nestjs/core': 11.2.1(@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2))(@nestjs/websockets@11.2.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)
iterare: 1.2.1
object-hash: 3.0.0
reflect-metadata: 0.2.2
rxjs: 7.8.2
tslib: 2.8.1
optionalDependencies:
- '@nestjs/platform-socket.io': 11.1.27(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/websockets@11.1.27)(rxjs@7.8.2)
+ '@nestjs/platform-socket.io': 11.2.1(@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2))(@nestjs/websockets@11.2.1)(rxjs@7.8.2)(supports-color@10.2.2)
'@noble/hashes@1.8.0': {}
@@ -13101,7 +12817,7 @@ snapshots:
'@nodable/entities@2.1.0': {}
- '@node-saml/node-saml@5.1.0':
+ '@node-saml/node-saml@5.1.0(supports-color@10.2.2)':
dependencies:
'@types/debug': 4.1.12
'@types/qs': 6.14.0
@@ -13109,7 +12825,7 @@ snapshots:
'@types/xml2js': 0.4.14
'@xmldom/is-dom-node': 1.0.1
'@xmldom/xmldom': 0.8.13
- debug: 4.4.3
+ debug: 4.4.3(supports-color@10.2.2)
xml-crypto: 6.1.2
xml-encryption: 3.1.0
xml2js: 0.6.2
@@ -13118,9 +12834,9 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@node-saml/passport-saml@5.1.0':
+ '@node-saml/passport-saml@5.1.0(supports-color@10.2.2)':
dependencies:
- '@node-saml/node-saml': 5.1.0
+ '@node-saml/node-saml': 5.1.0(supports-color@10.2.2)
'@types/express': 4.17.23
'@types/passport': 1.0.17
'@types/passport-strategy': 0.2.38
@@ -13129,90 +12845,91 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@nx/devkit@22.6.1(nx@22.6.1)':
+ '@nx/devkit@23.1.1(nx@23.1.1)':
dependencies:
- '@zkochan/js-yaml': 0.0.7
- ejs: 3.1.10
+ ejs: 5.0.1
enquirer: 2.3.6
- minimatch: 10.2.4
- nx: 22.6.1
+ minimatch: 10.2.5
+ nx: 23.1.1
semver: 7.7.4
tslib: 2.8.1
yargs-parser: 21.1.1
- '@nx/js@22.6.1(@babel/traverse@7.28.5)(nx@22.6.1)':
+ '@nx/js@23.1.1(@babel/traverse@7.29.7(supports-color@7.2.0))(nx@23.1.1)(supports-color@7.2.0)':
dependencies:
- '@babel/core': 7.29.7
- '@babel/plugin-proposal-decorators': 7.23.7(@babel/core@7.29.7)
- '@babel/plugin-transform-class-properties': 7.23.3(@babel/core@7.29.7)
- '@babel/plugin-transform-runtime': 7.23.7(@babel/core@7.29.7)
- '@babel/preset-env': 7.23.8(@babel/core@7.29.7)
- '@babel/preset-typescript': 7.23.3(@babel/core@7.29.7)
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/plugin-proposal-decorators': 7.23.7(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-transform-class-properties': 7.23.3(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-transform-class-static-block': 7.23.4(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-transform-private-methods': 7.23.3(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-transform-private-property-in-object': 7.23.4(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/plugin-transform-runtime': 7.23.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)
+ '@babel/preset-env': 7.23.8(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)
+ '@babel/preset-typescript': 7.23.3(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)
'@babel/runtime': 7.29.2
- '@nx/devkit': 22.6.1(nx@22.6.1)
- '@nx/workspace': 22.6.1
+ '@nx/devkit': 23.1.1(nx@23.1.1)
+ '@nx/workspace': 23.1.1
'@zkochan/js-yaml': 0.0.7
- babel-plugin-const-enum: 1.2.0(@babel/core@7.29.7)
+ babel-plugin-const-enum: 1.2.0(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)
babel-plugin-macros: 3.1.0
- babel-plugin-transform-typescript-metadata: 0.3.2(@babel/core@7.29.7)(@babel/traverse@7.28.5)
+ babel-plugin-transform-typescript-metadata: 0.3.2(@babel/core@7.29.7(supports-color@7.2.0))(@babel/traverse@7.29.7(supports-color@7.2.0))
chalk: 4.1.2
columnify: 1.6.0
- detect-port: 1.5.1
- ignore: 5.3.1
+ detect-port: 2.1.0
+ ignore: 7.0.5
js-tokens: 4.0.0
- jsonc-parser: 3.2.0
+ jsonc-parser: 3.3.1
npm-run-path: 4.0.1
picocolors: 1.1.1
picomatch: 4.0.4
semver: 7.7.4
source-map-support: 0.5.19
- tinyglobby: 0.2.15
+ tinyglobby: 0.2.17
tslib: 2.8.1
transitivePeerDependencies:
- '@babel/traverse'
- '@swc-node/register'
- '@swc/core'
- - debug
- nx
- supports-color
- '@nx/nx-darwin-arm64@22.6.1':
+ '@nx/nx-darwin-arm64@23.1.1':
optional: true
- '@nx/nx-darwin-x64@22.6.1':
+ '@nx/nx-darwin-x64@23.1.1':
optional: true
- '@nx/nx-freebsd-x64@22.6.1':
+ '@nx/nx-freebsd-x64@23.1.1':
optional: true
- '@nx/nx-linux-arm-gnueabihf@22.6.1':
+ '@nx/nx-linux-arm-gnueabihf@23.1.1':
optional: true
- '@nx/nx-linux-arm64-gnu@22.6.1':
+ '@nx/nx-linux-arm64-gnu@23.1.1':
optional: true
- '@nx/nx-linux-arm64-musl@22.6.1':
+ '@nx/nx-linux-arm64-musl@23.1.1':
optional: true
- '@nx/nx-linux-x64-gnu@22.6.1':
+ '@nx/nx-linux-x64-gnu@23.1.1':
optional: true
- '@nx/nx-linux-x64-musl@22.6.1':
+ '@nx/nx-linux-x64-musl@23.1.1':
optional: true
- '@nx/nx-win32-arm64-msvc@22.6.1':
+ '@nx/nx-win32-arm64-msvc@23.1.1':
optional: true
- '@nx/nx-win32-x64-msvc@22.6.1':
+ '@nx/nx-win32-x64-msvc@23.1.1':
optional: true
- '@nx/workspace@22.6.1':
+ '@nx/workspace@23.1.1':
dependencies:
- '@nx/devkit': 22.6.1(nx@22.6.1)
+ '@nx/devkit': 23.1.1(nx@23.1.1)
'@zkochan/js-yaml': 0.0.7
chalk: 4.1.2
enquirer: 2.3.6
- nx: 22.6.1
+ nx: 23.1.1
picomatch: 4.0.4
semver: 7.7.4
tslib: 2.8.1
@@ -13220,8 +12937,6 @@ snapshots:
transitivePeerDependencies:
- '@swc-node/register'
- '@swc/core'
- - debug
- - supports-color
'@opentelemetry/api@1.9.0': {}
@@ -13657,7 +13372,7 @@ snapshots:
'@radix-ui/react-popper@1.2.8(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
- '@floating-ui/react-dom': 2.1.6(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ '@floating-ui/react-dom': 2.1.8(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-arrow': 1.1.7(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
'@radix-ui/react-compose-refs': 1.1.2(@types/react@19.2.17)(react@19.2.7)
'@radix-ui/react-context': 1.1.2(@types/react@19.2.17)(react@19.2.7)
@@ -14141,10 +13856,6 @@ snapshots:
'@smithy/types': 4.14.2
tslib: 2.8.1
- '@smithy/types@4.14.1':
- dependencies:
- tslib: 2.8.1
-
'@smithy/types@4.14.2':
dependencies:
tslib: 2.8.1
@@ -14161,11 +13872,11 @@ snapshots:
'@socket.io/component-emitter@3.1.0': {}
- '@socket.io/redis-adapter@8.3.0(socket.io-adapter@2.5.4)':
+ '@socket.io/redis-adapter@8.3.0(socket.io-adapter@2.5.4(supports-color@10.2.2))(supports-color@10.2.2)':
dependencies:
- debug: 4.3.7
+ debug: 4.3.7(supports-color@10.2.2)
notepack.io: 3.0.1
- socket.io-adapter: 2.5.4
+ socket.io-adapter: 2.5.4(supports-color@10.2.2)
uid2: 1.0.0
transitivePeerDependencies:
- supports-color
@@ -14247,10 +13958,10 @@ snapshots:
'@tabler/icons@3.40.0': {}
- '@tanstack/eslint-plugin-query@5.94.4(eslint@9.28.0(jiti@2.4.2))(typescript@5.9.3)':
+ '@tanstack/eslint-plugin-query@5.94.4(eslint@9.28.0(jiti@2.4.2)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@5.9.3)':
dependencies:
- '@typescript-eslint/utils': 8.57.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.9.3)
- eslint: 9.28.0(jiti@2.4.2)
+ '@typescript-eslint/utils': 8.57.1(eslint@9.28.0(jiti@2.4.2)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@5.9.3)
+ eslint: 9.28.0(jiti@2.4.2)(supports-color@10.2.2)
optionalDependencies:
typescript: 5.9.3
transitivePeerDependencies:
@@ -14310,200 +14021,200 @@ snapshots:
'@types/react': 19.2.17
'@types/react-dom': 19.2.3(@types/react@19.2.17)
- '@tiptap/core@3.28.0(@tiptap/pm@3.28.0)':
+ '@tiptap/core@3.29.2(@tiptap/pm@3.29.2)':
dependencies:
- '@tiptap/pm': 3.28.0
+ '@tiptap/pm': 3.29.2
- '@tiptap/extension-audio@3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))':
+ '@tiptap/extension-audio@3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))':
dependencies:
- '@tiptap/core': 3.28.0(@tiptap/pm@3.28.0)
+ '@tiptap/core': 3.29.2(@tiptap/pm@3.29.2)
- '@tiptap/extension-blockquote@3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0)':
+ '@tiptap/extension-blockquote@3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2)':
dependencies:
- '@tiptap/core': 3.28.0(@tiptap/pm@3.28.0)
- '@tiptap/pm': 3.28.0
+ '@tiptap/core': 3.29.2(@tiptap/pm@3.29.2)
+ '@tiptap/pm': 3.29.2
- '@tiptap/extension-bold@3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))':
+ '@tiptap/extension-bold@3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))':
dependencies:
- '@tiptap/core': 3.28.0(@tiptap/pm@3.28.0)
+ '@tiptap/core': 3.29.2(@tiptap/pm@3.29.2)
- '@tiptap/extension-bubble-menu@3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0)':
+ '@tiptap/extension-bubble-menu@3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2)':
dependencies:
'@floating-ui/dom': 1.7.3
- '@tiptap/core': 3.28.0(@tiptap/pm@3.28.0)
- '@tiptap/pm': 3.28.0
+ '@tiptap/core': 3.29.2(@tiptap/pm@3.29.2)
+ '@tiptap/pm': 3.29.2
optional: true
- '@tiptap/extension-bullet-list@3.28.0(@tiptap/extension-list@3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0))':
+ '@tiptap/extension-bullet-list@3.29.2(@tiptap/extension-list@3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2))':
dependencies:
- '@tiptap/extension-list': 3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0)
+ '@tiptap/extension-list': 3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2)
- '@tiptap/extension-code-block@3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0)':
+ '@tiptap/extension-code-block@3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2)':
dependencies:
- '@tiptap/core': 3.28.0(@tiptap/pm@3.28.0)
- '@tiptap/pm': 3.28.0
+ '@tiptap/core': 3.29.2(@tiptap/pm@3.29.2)
+ '@tiptap/pm': 3.29.2
- '@tiptap/extension-code@3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))':
+ '@tiptap/extension-code@3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))':
dependencies:
- '@tiptap/core': 3.28.0(@tiptap/pm@3.28.0)
+ '@tiptap/core': 3.29.2(@tiptap/pm@3.29.2)
- '@tiptap/extension-collaboration-caret@3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0)(@tiptap/y-tiptap@3.0.7(prosemirror-model@1.25.9)(prosemirror-state@1.4.4)(prosemirror-view@1.41.9)(y-protocols@1.0.6(yjs@13.6.30))(yjs@13.6.30))':
+ '@tiptap/extension-collaboration-caret@3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2)(@tiptap/y-tiptap@3.0.7(prosemirror-model@1.25.11)(prosemirror-state@1.4.4)(prosemirror-view@1.41.9)(y-protocols@1.0.6(yjs@13.6.30))(yjs@13.6.30))':
dependencies:
- '@tiptap/core': 3.28.0(@tiptap/pm@3.28.0)
- '@tiptap/pm': 3.28.0
- '@tiptap/y-tiptap': 3.0.7(prosemirror-model@1.25.9)(prosemirror-state@1.4.4)(prosemirror-view@1.41.9)(y-protocols@1.0.6(yjs@13.6.30))(yjs@13.6.30)
+ '@tiptap/core': 3.29.2(@tiptap/pm@3.29.2)
+ '@tiptap/pm': 3.29.2
+ '@tiptap/y-tiptap': 3.0.7(prosemirror-model@1.25.11)(prosemirror-state@1.4.4)(prosemirror-view@1.41.9)(y-protocols@1.0.6(yjs@13.6.30))(yjs@13.6.30)
- '@tiptap/extension-collaboration@3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0)(@tiptap/y-tiptap@3.0.7(prosemirror-model@1.25.9)(prosemirror-state@1.4.4)(prosemirror-view@1.41.9)(y-protocols@1.0.6(yjs@13.6.30))(yjs@13.6.30))(yjs@13.6.30)':
+ '@tiptap/extension-collaboration@3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2)(@tiptap/y-tiptap@3.0.7(prosemirror-model@1.25.11)(prosemirror-state@1.4.4)(prosemirror-view@1.41.9)(y-protocols@1.0.6(yjs@13.6.30))(yjs@13.6.30))(yjs@13.6.30)':
dependencies:
- '@tiptap/core': 3.28.0(@tiptap/pm@3.28.0)
- '@tiptap/pm': 3.28.0
- '@tiptap/y-tiptap': 3.0.7(prosemirror-model@1.25.9)(prosemirror-state@1.4.4)(prosemirror-view@1.41.9)(y-protocols@1.0.6(yjs@13.6.30))(yjs@13.6.30)
+ '@tiptap/core': 3.29.2(@tiptap/pm@3.29.2)
+ '@tiptap/pm': 3.29.2
+ '@tiptap/y-tiptap': 3.0.7(prosemirror-model@1.25.11)(prosemirror-state@1.4.4)(prosemirror-view@1.41.9)(y-protocols@1.0.6(yjs@13.6.30))(yjs@13.6.30)
yjs: 13.6.30
- '@tiptap/extension-color@3.28.0(@tiptap/extension-text-style@3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0)))':
+ '@tiptap/extension-color@3.29.2(@tiptap/extension-text-style@3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2)))':
dependencies:
- '@tiptap/extension-text-style': 3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))
+ '@tiptap/extension-text-style': 3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))
- '@tiptap/extension-document@3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))':
+ '@tiptap/extension-document@3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))':
dependencies:
- '@tiptap/core': 3.28.0(@tiptap/pm@3.28.0)
+ '@tiptap/core': 3.29.2(@tiptap/pm@3.29.2)
- '@tiptap/extension-dropcursor@3.28.0(@tiptap/extensions@3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0))':
+ '@tiptap/extension-dropcursor@3.29.2(@tiptap/extensions@3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2))':
dependencies:
- '@tiptap/extensions': 3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0)
+ '@tiptap/extensions': 3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2)
- '@tiptap/extension-floating-menu@3.28.0(@floating-ui/dom@1.7.3)(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0)':
+ '@tiptap/extension-floating-menu@3.29.2(@floating-ui/dom@1.7.3)(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2)':
dependencies:
'@floating-ui/dom': 1.7.3
- '@tiptap/core': 3.28.0(@tiptap/pm@3.28.0)
- '@tiptap/pm': 3.28.0
+ '@tiptap/core': 3.29.2(@tiptap/pm@3.29.2)
+ '@tiptap/pm': 3.29.2
optional: true
- '@tiptap/extension-gapcursor@3.28.0(@tiptap/extensions@3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0))':
+ '@tiptap/extension-gapcursor@3.29.2(@tiptap/extensions@3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2))':
dependencies:
- '@tiptap/extensions': 3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0)
+ '@tiptap/extensions': 3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2)
- '@tiptap/extension-hard-break@3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))':
+ '@tiptap/extension-hard-break@3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))':
dependencies:
- '@tiptap/core': 3.28.0(@tiptap/pm@3.28.0)
+ '@tiptap/core': 3.29.2(@tiptap/pm@3.29.2)
- '@tiptap/extension-heading@3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))':
+ '@tiptap/extension-heading@3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))':
dependencies:
- '@tiptap/core': 3.28.0(@tiptap/pm@3.28.0)
+ '@tiptap/core': 3.29.2(@tiptap/pm@3.29.2)
- '@tiptap/extension-highlight@3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))':
+ '@tiptap/extension-highlight@3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))':
dependencies:
- '@tiptap/core': 3.28.0(@tiptap/pm@3.28.0)
+ '@tiptap/core': 3.29.2(@tiptap/pm@3.29.2)
- '@tiptap/extension-history@3.28.0(@tiptap/extensions@3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0))':
+ '@tiptap/extension-history@3.29.2(@tiptap/extensions@3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2))':
dependencies:
- '@tiptap/extensions': 3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0)
+ '@tiptap/extensions': 3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2)
- '@tiptap/extension-horizontal-rule@3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0)':
+ '@tiptap/extension-horizontal-rule@3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2)':
dependencies:
- '@tiptap/core': 3.28.0(@tiptap/pm@3.28.0)
- '@tiptap/pm': 3.28.0
+ '@tiptap/core': 3.29.2(@tiptap/pm@3.29.2)
+ '@tiptap/pm': 3.29.2
- '@tiptap/extension-image@3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))':
+ '@tiptap/extension-image@3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))':
dependencies:
- '@tiptap/core': 3.28.0(@tiptap/pm@3.28.0)
+ '@tiptap/core': 3.29.2(@tiptap/pm@3.29.2)
- '@tiptap/extension-italic@3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))':
+ '@tiptap/extension-italic@3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))':
dependencies:
- '@tiptap/core': 3.28.0(@tiptap/pm@3.28.0)
+ '@tiptap/core': 3.29.2(@tiptap/pm@3.29.2)
- '@tiptap/extension-link@3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0)':
+ '@tiptap/extension-link@3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2)':
dependencies:
- '@tiptap/core': 3.28.0(@tiptap/pm@3.28.0)
- '@tiptap/pm': 3.28.0
+ '@tiptap/core': 3.29.2(@tiptap/pm@3.29.2)
+ '@tiptap/pm': 3.29.2
linkifyjs: 4.3.3
- '@tiptap/extension-list-item@3.28.0(@tiptap/extension-list@3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0))':
+ '@tiptap/extension-list-item@3.29.2(@tiptap/extension-list@3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2))':
dependencies:
- '@tiptap/extension-list': 3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0)
+ '@tiptap/extension-list': 3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2)
- '@tiptap/extension-list-keymap@3.28.0(@tiptap/extension-list@3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0))':
+ '@tiptap/extension-list-keymap@3.29.2(@tiptap/extension-list@3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2))':
dependencies:
- '@tiptap/extension-list': 3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0)
+ '@tiptap/extension-list': 3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2)
- '@tiptap/extension-list@3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0)':
+ '@tiptap/extension-list@3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2)':
dependencies:
- '@tiptap/core': 3.28.0(@tiptap/pm@3.28.0)
- '@tiptap/pm': 3.28.0
+ '@tiptap/core': 3.29.2(@tiptap/pm@3.29.2)
+ '@tiptap/pm': 3.29.2
- '@tiptap/extension-ordered-list@3.28.0(@tiptap/extension-list@3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0))':
+ '@tiptap/extension-ordered-list@3.29.2(@tiptap/extension-list@3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2))':
dependencies:
- '@tiptap/extension-list': 3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0)
+ '@tiptap/extension-list': 3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2)
- '@tiptap/extension-paragraph@3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))':
+ '@tiptap/extension-paragraph@3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))':
dependencies:
- '@tiptap/core': 3.28.0(@tiptap/pm@3.28.0)
+ '@tiptap/core': 3.29.2(@tiptap/pm@3.29.2)
- '@tiptap/extension-placeholder@3.28.0(@tiptap/extensions@3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0))':
+ '@tiptap/extension-placeholder@3.29.2(@tiptap/extensions@3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2))':
dependencies:
- '@tiptap/extensions': 3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0)
+ '@tiptap/extensions': 3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2)
- '@tiptap/extension-strike@3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))':
+ '@tiptap/extension-strike@3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))':
dependencies:
- '@tiptap/core': 3.28.0(@tiptap/pm@3.28.0)
+ '@tiptap/core': 3.29.2(@tiptap/pm@3.29.2)
- '@tiptap/extension-subscript@3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0)':
+ '@tiptap/extension-subscript@3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2)':
dependencies:
- '@tiptap/core': 3.28.0(@tiptap/pm@3.28.0)
- '@tiptap/pm': 3.28.0
+ '@tiptap/core': 3.29.2(@tiptap/pm@3.29.2)
+ '@tiptap/pm': 3.29.2
- '@tiptap/extension-superscript@3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0)':
+ '@tiptap/extension-superscript@3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2)':
dependencies:
- '@tiptap/core': 3.28.0(@tiptap/pm@3.28.0)
- '@tiptap/pm': 3.28.0
+ '@tiptap/core': 3.29.2(@tiptap/pm@3.29.2)
+ '@tiptap/pm': 3.29.2
- '@tiptap/extension-table@3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0)':
+ '@tiptap/extension-table@3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2)':
dependencies:
- '@tiptap/core': 3.28.0(@tiptap/pm@3.28.0)
- '@tiptap/pm': 3.28.0
+ '@tiptap/core': 3.29.2(@tiptap/pm@3.29.2)
+ '@tiptap/pm': 3.29.2
- '@tiptap/extension-text-align@3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))':
+ '@tiptap/extension-text-align@3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))':
dependencies:
- '@tiptap/core': 3.28.0(@tiptap/pm@3.28.0)
+ '@tiptap/core': 3.29.2(@tiptap/pm@3.29.2)
- '@tiptap/extension-text-style@3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))':
+ '@tiptap/extension-text-style@3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))':
dependencies:
- '@tiptap/core': 3.28.0(@tiptap/pm@3.28.0)
+ '@tiptap/core': 3.29.2(@tiptap/pm@3.29.2)
- '@tiptap/extension-text@3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))':
+ '@tiptap/extension-text@3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))':
dependencies:
- '@tiptap/core': 3.28.0(@tiptap/pm@3.28.0)
+ '@tiptap/core': 3.29.2(@tiptap/pm@3.29.2)
- '@tiptap/extension-typography@3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))':
+ '@tiptap/extension-typography@3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))':
dependencies:
- '@tiptap/core': 3.28.0(@tiptap/pm@3.28.0)
+ '@tiptap/core': 3.29.2(@tiptap/pm@3.29.2)
- '@tiptap/extension-underline@3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))':
+ '@tiptap/extension-underline@3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))':
dependencies:
- '@tiptap/core': 3.28.0(@tiptap/pm@3.28.0)
+ '@tiptap/core': 3.29.2(@tiptap/pm@3.29.2)
- '@tiptap/extension-unique-id@3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0)':
+ '@tiptap/extension-unique-id@3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2)':
dependencies:
- '@tiptap/core': 3.28.0(@tiptap/pm@3.28.0)
- '@tiptap/pm': 3.28.0
+ '@tiptap/core': 3.29.2(@tiptap/pm@3.29.2)
+ '@tiptap/pm': 3.29.2
uuid: 14.0.0
- '@tiptap/extension-youtube@3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))':
+ '@tiptap/extension-youtube@3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))':
dependencies:
- '@tiptap/core': 3.28.0(@tiptap/pm@3.28.0)
+ '@tiptap/core': 3.29.2(@tiptap/pm@3.29.2)
- '@tiptap/extensions@3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0)':
+ '@tiptap/extensions@3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2)':
dependencies:
- '@tiptap/core': 3.28.0(@tiptap/pm@3.28.0)
- '@tiptap/pm': 3.28.0
+ '@tiptap/core': 3.29.2(@tiptap/pm@3.29.2)
+ '@tiptap/pm': 3.29.2
- '@tiptap/html@3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0)(happy-dom@20.8.9)':
+ '@tiptap/html@3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2)(happy-dom@20.8.9)':
dependencies:
- '@tiptap/core': 3.28.0(@tiptap/pm@3.28.0)
- '@tiptap/pm': 3.28.0
+ '@tiptap/core': 3.29.2(@tiptap/pm@3.29.2)
+ '@tiptap/pm': 3.29.2
happy-dom: 20.8.9
- '@tiptap/pm@3.28.0':
+ '@tiptap/pm@3.29.2':
dependencies:
prosemirror-changeset: 2.4.0
prosemirror-commands: 1.7.1
@@ -14512,17 +14223,17 @@ snapshots:
prosemirror-history: 1.5.0
prosemirror-inputrules: 1.5.1
prosemirror-keymap: 1.2.3
- prosemirror-model: 1.25.9
+ prosemirror-model: 1.25.11
prosemirror-schema-list: 1.5.1
prosemirror-state: 1.4.4
prosemirror-tables: 1.8.5
prosemirror-transform: 1.12.0
prosemirror-view: 1.41.9
- '@tiptap/react@3.28.0(@floating-ui/dom@1.7.3)(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
+ '@tiptap/react@3.29.2(@floating-ui/dom@1.7.3)(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2)(@types/react-dom@19.2.3(@types/react@19.2.17))(@types/react@19.2.17)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)':
dependencies:
- '@tiptap/core': 3.28.0(@tiptap/pm@3.28.0)
- '@tiptap/pm': 3.28.0
+ '@tiptap/core': 3.29.2(@tiptap/pm@3.29.2)
+ '@tiptap/pm': 3.29.2
'@types/react': 19.2.17
'@types/react-dom': 19.2.3(@types/react@19.2.17)
'@types/use-sync-external-store': 0.0.6
@@ -14531,56 +14242,56 @@ snapshots:
react-dom: 19.2.7(react@19.2.7)
use-sync-external-store: 1.6.0(react@19.2.7)
optionalDependencies:
- '@tiptap/extension-bubble-menu': 3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0)
- '@tiptap/extension-floating-menu': 3.28.0(@floating-ui/dom@1.7.3)(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0)
+ '@tiptap/extension-bubble-menu': 3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2)
+ '@tiptap/extension-floating-menu': 3.29.2(@floating-ui/dom@1.7.3)(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2)
transitivePeerDependencies:
- '@floating-ui/dom'
- '@tiptap/starter-kit@3.28.0':
+ '@tiptap/starter-kit@3.29.2':
dependencies:
- '@tiptap/core': 3.28.0(@tiptap/pm@3.28.0)
- '@tiptap/extension-blockquote': 3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0)
- '@tiptap/extension-bold': 3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))
- '@tiptap/extension-bullet-list': 3.28.0(@tiptap/extension-list@3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0))
- '@tiptap/extension-code': 3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))
- '@tiptap/extension-code-block': 3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0)
- '@tiptap/extension-document': 3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))
- '@tiptap/extension-dropcursor': 3.28.0(@tiptap/extensions@3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0))
- '@tiptap/extension-gapcursor': 3.28.0(@tiptap/extensions@3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0))
- '@tiptap/extension-hard-break': 3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))
- '@tiptap/extension-heading': 3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))
- '@tiptap/extension-horizontal-rule': 3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0)
- '@tiptap/extension-italic': 3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))
- '@tiptap/extension-link': 3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0)
- '@tiptap/extension-list': 3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0)
- '@tiptap/extension-list-item': 3.28.0(@tiptap/extension-list@3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0))
- '@tiptap/extension-list-keymap': 3.28.0(@tiptap/extension-list@3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0))
- '@tiptap/extension-ordered-list': 3.28.0(@tiptap/extension-list@3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0))
- '@tiptap/extension-paragraph': 3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))
- '@tiptap/extension-strike': 3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))
- '@tiptap/extension-text': 3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))
- '@tiptap/extension-underline': 3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))
- '@tiptap/extensions': 3.28.0(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0)
- '@tiptap/pm': 3.28.0
+ '@tiptap/core': 3.29.2(@tiptap/pm@3.29.2)
+ '@tiptap/extension-blockquote': 3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2)
+ '@tiptap/extension-bold': 3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))
+ '@tiptap/extension-bullet-list': 3.29.2(@tiptap/extension-list@3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2))
+ '@tiptap/extension-code': 3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))
+ '@tiptap/extension-code-block': 3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2)
+ '@tiptap/extension-document': 3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))
+ '@tiptap/extension-dropcursor': 3.29.2(@tiptap/extensions@3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2))
+ '@tiptap/extension-gapcursor': 3.29.2(@tiptap/extensions@3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2))
+ '@tiptap/extension-hard-break': 3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))
+ '@tiptap/extension-heading': 3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))
+ '@tiptap/extension-horizontal-rule': 3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2)
+ '@tiptap/extension-italic': 3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))
+ '@tiptap/extension-link': 3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2)
+ '@tiptap/extension-list': 3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2)
+ '@tiptap/extension-list-item': 3.29.2(@tiptap/extension-list@3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2))
+ '@tiptap/extension-list-keymap': 3.29.2(@tiptap/extension-list@3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2))
+ '@tiptap/extension-ordered-list': 3.29.2(@tiptap/extension-list@3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2))
+ '@tiptap/extension-paragraph': 3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))
+ '@tiptap/extension-strike': 3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))
+ '@tiptap/extension-text': 3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))
+ '@tiptap/extension-underline': 3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))
+ '@tiptap/extensions': 3.29.2(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2)
+ '@tiptap/pm': 3.29.2
- '@tiptap/suggestion@3.28.0(@floating-ui/dom@1.7.3)(@tiptap/core@3.28.0(@tiptap/pm@3.28.0))(@tiptap/pm@3.28.0)':
+ '@tiptap/suggestion@3.29.2(@floating-ui/dom@1.7.3)(@tiptap/core@3.29.2(@tiptap/pm@3.29.2))(@tiptap/pm@3.29.2)':
dependencies:
'@floating-ui/dom': 1.7.3
- '@tiptap/core': 3.28.0(@tiptap/pm@3.28.0)
- '@tiptap/pm': 3.28.0
+ '@tiptap/core': 3.29.2(@tiptap/pm@3.29.2)
+ '@tiptap/pm': 3.29.2
- '@tiptap/y-tiptap@3.0.7(prosemirror-model@1.25.9)(prosemirror-state@1.4.4)(prosemirror-view@1.41.9)(y-protocols@1.0.6(yjs@13.6.30))(yjs@13.6.30)':
+ '@tiptap/y-tiptap@3.0.7(prosemirror-model@1.25.11)(prosemirror-state@1.4.4)(prosemirror-view@1.41.9)(y-protocols@1.0.6(yjs@13.6.30))(yjs@13.6.30)':
dependencies:
lib0: 0.2.117
- prosemirror-model: 1.25.9
+ prosemirror-model: 1.25.11
prosemirror-state: 1.4.4
prosemirror-view: 1.41.9
y-protocols: 1.0.6(yjs@13.6.30)
yjs: 13.6.30
- '@tokenizer/inflate@0.4.1':
+ '@tokenizer/inflate@0.4.1(supports-color@10.2.2)':
dependencies:
- debug: 4.4.3
+ debug: 4.4.3(supports-color@10.2.2)
token-types: 6.1.2
transitivePeerDependencies:
- supports-color
@@ -14595,10 +14306,10 @@ snapshots:
'@tsconfig/node16@1.0.4': {}
- '@tybys/wasm-util@0.10.1':
+ '@turbopuffer/turbopuffer@2.8.0':
dependencies:
- tslib: 2.8.1
- optional: true
+ pako: 2.2.0
+ undici: 7.29.0
'@tybys/wasm-util@0.10.2':
dependencies:
@@ -14654,8 +14365,6 @@ snapshots:
dependencies:
'@types/node': 25.5.0
- '@types/cookie@0.4.1': {}
-
'@types/cookiejar@2.1.5': {}
'@types/cors@2.8.17':
@@ -14797,29 +14506,20 @@ snapshots:
'@types/estree': 1.0.9
'@types/json-schema': 7.0.15
- '@types/estree@1.0.8': {}
-
'@types/estree@1.0.9': {}
'@types/express-serve-static-core@4.17.43':
dependencies:
'@types/node': 25.5.0
- '@types/qs': 6.9.14
+ '@types/qs': 6.14.0
'@types/range-parser': 1.2.7
'@types/send': 0.17.4
- '@types/express@4.17.21':
- dependencies:
- '@types/body-parser': 1.19.5
- '@types/express-serve-static-core': 4.17.43
- '@types/qs': 6.9.14
- '@types/serve-static': 1.15.5
-
'@types/express@4.17.23':
dependencies:
'@types/body-parser': 1.19.5
'@types/express-serve-static-core': 4.17.43
- '@types/qs': 6.9.14
+ '@types/qs': 6.14.0
'@types/serve-static': 1.15.5
'@types/file-saver@2.0.7': {}
@@ -14849,8 +14549,8 @@ snapshots:
'@types/jest@30.0.0':
dependencies:
- expect: 30.2.0
- pretty-format: 30.2.0
+ expect: 30.3.0
+ pretty-format: 30.3.0
'@types/js-cookie@3.0.6': {}
@@ -14865,10 +14565,6 @@ snapshots:
'@types/ms': 2.1.0
'@types/node': 25.5.0
- '@types/jsonwebtoken@9.0.6':
- dependencies:
- '@types/node': 25.5.0
-
'@types/katex@0.16.8': {}
'@types/luxon@3.7.1': {}
@@ -14909,7 +14605,7 @@ snapshots:
'@types/passport-jwt@4.0.1':
dependencies:
- '@types/jsonwebtoken': 9.0.6
+ '@types/jsonwebtoken': 9.0.10
'@types/passport-strategy': 0.2.38
'@types/passport-oauth2@1.4.17':
@@ -14919,13 +14615,9 @@ snapshots:
'@types/passport': 1.0.17
'@types/passport-strategy@0.2.38':
- dependencies:
- '@types/express': 4.17.21
- '@types/passport': 1.0.16
-
- '@types/passport@1.0.16':
dependencies:
'@types/express': 4.17.23
+ '@types/passport': 1.0.17
'@types/passport@1.0.17':
dependencies:
@@ -14937,8 +14629,6 @@ snapshots:
'@types/qs@6.14.0': {}
- '@types/qs@6.9.14': {}
-
'@types/range-parser@1.2.7': {}
'@types/react-dom@19.2.3(@types/react@19.2.17)':
@@ -14988,7 +14678,7 @@ snapshots:
'@types/ws@8.18.1':
dependencies:
- '@types/node': 22.19.1
+ '@types/node': 25.5.0
'@types/xml-encryption@1.2.4':
dependencies:
@@ -15008,15 +14698,15 @@ snapshots:
dependencies:
'@types/node': 25.5.0
- '@typescript-eslint/eslint-plugin@8.57.1(@typescript-eslint/parser@8.57.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.9.3))(eslint@9.28.0(jiti@2.4.2))(typescript@5.9.3)':
+ '@typescript-eslint/eslint-plugin@8.57.1(@typescript-eslint/parser@8.57.1(eslint@9.28.0(jiti@2.4.2)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@5.9.3))(eslint@9.28.0(jiti@2.4.2)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@5.9.3)':
dependencies:
'@eslint-community/regexpp': 4.12.2
- '@typescript-eslint/parser': 8.57.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.9.3)
+ '@typescript-eslint/parser': 8.57.1(eslint@9.28.0(jiti@2.4.2)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@5.9.3)
'@typescript-eslint/scope-manager': 8.57.1
- '@typescript-eslint/type-utils': 8.57.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.9.3)
- '@typescript-eslint/utils': 8.57.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.9.3)
+ '@typescript-eslint/type-utils': 8.57.1(eslint@9.28.0(jiti@2.4.2)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@5.9.3)
+ '@typescript-eslint/utils': 8.57.1(eslint@9.28.0(jiti@2.4.2)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@5.9.3)
'@typescript-eslint/visitor-keys': 8.57.1
- eslint: 9.28.0(jiti@2.4.2)
+ eslint: 9.28.0(jiti@2.4.2)(supports-color@10.2.2)
ignore: 7.0.5
natural-compare: 1.4.0
ts-api-utils: 2.5.0(typescript@5.9.3)
@@ -15024,51 +14714,23 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/eslint-plugin@8.57.1(@typescript-eslint/parser@8.57.1(eslint@9.39.4(jiti@2.4.2))(typescript@5.9.3))(eslint@9.39.4(jiti@2.4.2))(typescript@5.9.3)':
- dependencies:
- '@eslint-community/regexpp': 4.12.2
- '@typescript-eslint/parser': 8.57.1(eslint@9.39.4(jiti@2.4.2))(typescript@5.9.3)
- '@typescript-eslint/scope-manager': 8.57.1
- '@typescript-eslint/type-utils': 8.57.1(eslint@9.39.4(jiti@2.4.2))(typescript@5.9.3)
- '@typescript-eslint/utils': 8.57.1(eslint@9.39.4(jiti@2.4.2))(typescript@5.9.3)
- '@typescript-eslint/visitor-keys': 8.57.1
- eslint: 9.39.4(jiti@2.4.2)
- ignore: 7.0.5
- natural-compare: 1.4.0
- ts-api-utils: 2.5.0(typescript@5.9.3)
- typescript: 5.9.3
- transitivePeerDependencies:
- - supports-color
-
- '@typescript-eslint/parser@8.57.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.9.3)':
+ '@typescript-eslint/parser@8.57.1(eslint@9.28.0(jiti@2.4.2)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@5.9.3)':
dependencies:
'@typescript-eslint/scope-manager': 8.57.1
'@typescript-eslint/types': 8.57.1
- '@typescript-eslint/typescript-estree': 8.57.1(typescript@5.9.3)
+ '@typescript-eslint/typescript-estree': 8.57.1(supports-color@10.2.2)(typescript@5.9.3)
'@typescript-eslint/visitor-keys': 8.57.1
- debug: 4.4.3
- eslint: 9.28.0(jiti@2.4.2)
+ debug: 4.4.3(supports-color@10.2.2)
+ eslint: 9.28.0(jiti@2.4.2)(supports-color@10.2.2)
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/parser@8.57.1(eslint@9.39.4(jiti@2.4.2))(typescript@5.9.3)':
- dependencies:
- '@typescript-eslint/scope-manager': 8.57.1
- '@typescript-eslint/types': 8.57.1
- '@typescript-eslint/typescript-estree': 8.57.1(typescript@5.9.3)
- '@typescript-eslint/visitor-keys': 8.57.1
- debug: 4.4.3
- eslint: 9.39.4(jiti@2.4.2)
- typescript: 5.9.3
- transitivePeerDependencies:
- - supports-color
-
- '@typescript-eslint/project-service@8.57.1(typescript@5.9.3)':
+ '@typescript-eslint/project-service@8.57.1(supports-color@10.2.2)(typescript@5.9.3)':
dependencies:
'@typescript-eslint/tsconfig-utils': 8.57.1(typescript@5.9.3)
'@typescript-eslint/types': 8.57.1
- debug: 4.4.3
+ debug: 4.4.3(supports-color@10.2.2)
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
@@ -15082,25 +14744,13 @@ snapshots:
dependencies:
typescript: 5.9.3
- '@typescript-eslint/type-utils@8.57.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.9.3)':
+ '@typescript-eslint/type-utils@8.57.1(eslint@9.28.0(jiti@2.4.2)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@5.9.3)':
dependencies:
'@typescript-eslint/types': 8.57.1
- '@typescript-eslint/typescript-estree': 8.57.1(typescript@5.9.3)
- '@typescript-eslint/utils': 8.57.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.9.3)
- debug: 4.4.3
- eslint: 9.28.0(jiti@2.4.2)
- ts-api-utils: 2.5.0(typescript@5.9.3)
- typescript: 5.9.3
- transitivePeerDependencies:
- - supports-color
-
- '@typescript-eslint/type-utils@8.57.1(eslint@9.39.4(jiti@2.4.2))(typescript@5.9.3)':
- dependencies:
- '@typescript-eslint/types': 8.57.1
- '@typescript-eslint/typescript-estree': 8.57.1(typescript@5.9.3)
- '@typescript-eslint/utils': 8.57.1(eslint@9.39.4(jiti@2.4.2))(typescript@5.9.3)
- debug: 4.4.3
- eslint: 9.39.4(jiti@2.4.2)
+ '@typescript-eslint/typescript-estree': 8.57.1(supports-color@10.2.2)(typescript@5.9.3)
+ '@typescript-eslint/utils': 8.57.1(eslint@9.28.0(jiti@2.4.2)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@5.9.3)
+ debug: 4.4.3(supports-color@10.2.2)
+ eslint: 9.28.0(jiti@2.4.2)(supports-color@10.2.2)
ts-api-utils: 2.5.0(typescript@5.9.3)
typescript: 5.9.3
transitivePeerDependencies:
@@ -15108,39 +14758,28 @@ snapshots:
'@typescript-eslint/types@8.57.1': {}
- '@typescript-eslint/typescript-estree@8.57.1(typescript@5.9.3)':
+ '@typescript-eslint/typescript-estree@8.57.1(supports-color@10.2.2)(typescript@5.9.3)':
dependencies:
- '@typescript-eslint/project-service': 8.57.1(typescript@5.9.3)
+ '@typescript-eslint/project-service': 8.57.1(supports-color@10.2.2)(typescript@5.9.3)
'@typescript-eslint/tsconfig-utils': 8.57.1(typescript@5.9.3)
'@typescript-eslint/types': 8.57.1
'@typescript-eslint/visitor-keys': 8.57.1
- debug: 4.4.3
- minimatch: 10.2.4
+ debug: 4.4.3(supports-color@10.2.2)
+ minimatch: 10.2.5
semver: 7.7.4
- tinyglobby: 0.2.15
+ tinyglobby: 0.2.17
ts-api-utils: 2.5.0(typescript@5.9.3)
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/utils@8.57.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.9.3)':
+ '@typescript-eslint/utils@8.57.1(eslint@9.28.0(jiti@2.4.2)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@5.9.3)':
dependencies:
- '@eslint-community/eslint-utils': 4.9.1(eslint@9.28.0(jiti@2.4.2))
+ '@eslint-community/eslint-utils': 4.9.1(eslint@9.28.0(jiti@2.4.2)(supports-color@10.2.2))
'@typescript-eslint/scope-manager': 8.57.1
'@typescript-eslint/types': 8.57.1
- '@typescript-eslint/typescript-estree': 8.57.1(typescript@5.9.3)
- eslint: 9.28.0(jiti@2.4.2)
- typescript: 5.9.3
- transitivePeerDependencies:
- - supports-color
-
- '@typescript-eslint/utils@8.57.1(eslint@9.39.4(jiti@2.4.2))(typescript@5.9.3)':
- dependencies:
- '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@2.4.2))
- '@typescript-eslint/scope-manager': 8.57.1
- '@typescript-eslint/types': 8.57.1
- '@typescript-eslint/typescript-estree': 8.57.1(typescript@5.9.3)
- eslint: 9.39.4(jiti@2.4.2)
+ '@typescript-eslint/typescript-estree': 8.57.1(supports-color@10.2.2)(typescript@5.9.3)
+ eslint: 9.28.0(jiti@2.4.2)(supports-color@10.2.2)
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
@@ -15150,10 +14789,10 @@ snapshots:
'@typescript-eslint/types': 8.57.1
eslint-visitor-keys: 5.0.1
- '@typespec/ts-http-runtime@0.3.5':
+ '@typespec/ts-http-runtime@0.3.5(supports-color@10.2.2)':
dependencies:
- http-proxy-agent: 7.0.2
- https-proxy-agent: 7.0.6
+ http-proxy-agent: 7.0.2(supports-color@10.2.2)
+ https-proxy-agent: 7.0.6(supports-color@10.2.2)
tslib: 2.8.1
transitivePeerDependencies:
- supports-color
@@ -15242,10 +14881,10 @@ snapshots:
'@vercel/oidc@3.1.0': {}
- '@vitejs/plugin-react@6.0.1(vite@8.0.16(@types/node@22.19.1)(esbuild@0.28.1)(jiti@2.4.2)(less@4.2.0)(sugarss@5.0.1(postcss@8.5.14))(terser@5.39.0)(tsx@4.21.0)(yaml@2.8.3))':
+ '@vitejs/plugin-react@6.0.1(vite@8.0.16(@types/node@22.19.1)(esbuild@0.28.1)(jiti@2.4.2)(sugarss@5.0.1(postcss@8.5.25))(terser@5.39.0)(tsx@4.21.0)(yaml@2.8.3))':
dependencies:
'@rolldown/pluginutils': 1.0.0-rc.7
- vite: 8.0.16(@types/node@22.19.1)(esbuild@0.28.1)(jiti@2.4.2)(less@4.2.0)(sugarss@5.0.1(postcss@8.5.14))(terser@5.39.0)(tsx@4.21.0)(yaml@2.8.3)
+ vite: 8.0.16(@types/node@22.19.1)(esbuild@0.28.1)(jiti@2.4.2)(sugarss@5.0.1(postcss@8.5.25))(terser@5.39.0)(tsx@4.21.0)(yaml@2.8.3)
'@vitest/expect@4.1.6':
dependencies:
@@ -15256,13 +14895,13 @@ snapshots:
chai: 6.2.2
tinyrainbow: 3.1.0
- '@vitest/mocker@4.1.6(vite@8.0.16(@types/node@22.19.1)(esbuild@0.28.1)(jiti@2.4.2)(less@4.2.0)(sugarss@5.0.1(postcss@8.5.14))(terser@5.39.0)(tsx@4.21.0)(yaml@2.8.3))':
+ '@vitest/mocker@4.1.6(vite@8.0.16(@types/node@22.19.1)(esbuild@0.28.1)(jiti@2.4.2)(sugarss@5.0.1(postcss@8.5.25))(terser@5.39.0)(tsx@4.21.0)(yaml@2.8.3))':
dependencies:
'@vitest/spy': 4.1.6
estree-walker: 3.0.3
magic-string: 0.30.21
optionalDependencies:
- vite: 8.0.16(@types/node@22.19.1)(esbuild@0.28.1)(jiti@2.4.2)(less@4.2.0)(sugarss@5.0.1(postcss@8.5.14))(terser@5.39.0)(tsx@4.21.0)(yaml@2.8.3)
+ vite: 8.0.16(@types/node@22.19.1)(esbuild@0.28.1)(jiti@2.4.2)(sugarss@5.0.1(postcss@8.5.25))(terser@5.39.0)(tsx@4.21.0)(yaml@2.8.3)
'@vitest/pretty-format@4.1.6':
dependencies:
@@ -15374,11 +15013,6 @@ snapshots:
'@yarnpkg/lockfile@1.1.0': {}
- '@yarnpkg/parsers@3.0.2':
- dependencies:
- js-yaml: 3.15.0
- tslib: 2.8.1
-
'@zkochan/js-yaml@0.0.7':
dependencies:
argparse: 2.0.1
@@ -15405,15 +15039,19 @@ snapshots:
acorn-walk@8.3.2: {}
- acorn@8.15.0: {}
-
acorn@8.16.0: {}
- address@1.2.2: {}
+ address@2.0.3: {}
- agent-base@6.0.2:
+ agent-base@6.0.2(supports-color@10.2.2):
dependencies:
- debug: 4.4.3
+ debug: 4.4.3(supports-color@10.2.2)
+ transitivePeerDependencies:
+ - supports-color
+
+ agent-base@6.0.2(supports-color@7.2.0):
+ dependencies:
+ debug: 4.4.3(supports-color@7.2.0)
transitivePeerDependencies:
- supports-color
@@ -15464,7 +15102,7 @@ snapshots:
ajv@8.18.0:
dependencies:
fast-deep-equal: 3.1.3
- fast-uri: 3.1.3
+ fast-uri: 3.1.5
json-schema-traverse: 1.0.0
require-from-string: 2.0.2
@@ -15482,12 +15120,16 @@ snapshots:
ansi-regex@5.0.1: {}
+ ansi-regex@6.2.2: {}
+
ansi-styles@4.3.0:
dependencies:
color-convert: 2.0.1
ansi-styles@5.2.0: {}
+ ansi-styles@6.2.3: {}
+
ansis@4.2.0: {}
anymatch@3.1.3:
@@ -15578,8 +15220,6 @@ snapshots:
dependencies:
tslib: 2.8.1
- async@3.2.5: {}
-
asynckit@0.4.0: {}
atomic-sleep@1.0.0: {}
@@ -15598,44 +15238,64 @@ snapshots:
'@fastify/error': 4.0.0
fastq: 1.17.1
- axios@1.18.1:
+ axios@1.18.1(debug@4.4.3(supports-color@10.2.2))(supports-color@10.2.2):
dependencies:
- follow-redirects: 1.16.0
+ follow-redirects: 1.16.0(debug@4.4.3(supports-color@10.2.2))
form-data: 4.0.6
- https-proxy-agent: 5.0.1
+ https-proxy-agent: 5.0.1(supports-color@10.2.2)
proxy-from-env: 2.1.0
transitivePeerDependencies:
- debug
- supports-color
- babel-jest@30.3.0(@babel/core@7.29.7):
+ axios@1.18.1(debug@4.4.3(supports-color@7.2.0))(supports-color@10.2.2):
dependencies:
- '@babel/core': 7.29.7
- '@jest/transform': 30.3.0
+ follow-redirects: 1.16.0(debug@4.4.3(supports-color@7.2.0))
+ form-data: 4.0.6
+ https-proxy-agent: 5.0.1(supports-color@10.2.2)
+ proxy-from-env: 2.1.0
+ transitivePeerDependencies:
+ - debug
+ - supports-color
+
+ axios@1.18.1(debug@4.4.3(supports-color@7.2.0))(supports-color@7.2.0):
+ dependencies:
+ follow-redirects: 1.16.0(debug@4.4.3(supports-color@7.2.0))
+ form-data: 4.0.6
+ https-proxy-agent: 5.0.1(supports-color@7.2.0)
+ proxy-from-env: 2.1.0
+ transitivePeerDependencies:
+ - debug
+ - supports-color
+
+ babel-jest@30.3.0(@babel/core@7.29.7(supports-color@10.2.2))(supports-color@10.2.2):
+ dependencies:
+ '@babel/core': 7.29.7(supports-color@10.2.2)
+ '@jest/transform': 30.3.0(supports-color@10.2.2)
'@types/babel__core': 7.20.5
- babel-plugin-istanbul: 7.0.1
- babel-preset-jest: 30.3.0(@babel/core@7.29.7)
+ babel-plugin-istanbul: 7.0.1(supports-color@10.2.2)
+ babel-preset-jest: 30.3.0(@babel/core@7.29.7(supports-color@10.2.2))
chalk: 4.1.2
graceful-fs: 4.2.11
slash: 3.0.0
transitivePeerDependencies:
- supports-color
- babel-plugin-const-enum@1.2.0(@babel/core@7.29.7):
+ babel-plugin-const-enum@1.2.0(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0):
dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-plugin-utils': 7.28.6
- '@babel/plugin-syntax-typescript': 7.28.6(@babel/core@7.29.7)
- '@babel/traverse': 7.28.5
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-plugin-utils': 7.29.7
+ '@babel/plugin-syntax-typescript': 7.28.6(@babel/core@7.29.7(supports-color@7.2.0))
+ '@babel/traverse': 7.29.7(supports-color@7.2.0)
transitivePeerDependencies:
- supports-color
- babel-plugin-istanbul@7.0.1:
+ babel-plugin-istanbul@7.0.1(supports-color@10.2.2):
dependencies:
'@babel/helper-plugin-utils': 7.29.7
'@istanbuljs/load-nyc-config': 1.1.0
'@istanbuljs/schema': 0.1.3
- istanbul-lib-instrument: 6.0.2
+ istanbul-lib-instrument: 6.0.2(supports-color@10.2.2)
test-exclude: 6.0.0
transitivePeerDependencies:
- supports-color
@@ -15650,64 +15310,66 @@ snapshots:
cosmiconfig: 7.1.0
resolve: 1.22.8
- babel-plugin-polyfill-corejs2@0.4.7(@babel/core@7.29.7):
+ babel-plugin-polyfill-corejs2@0.4.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0):
dependencies:
- '@babel/compat-data': 7.28.5
- '@babel/core': 7.29.7
- '@babel/helper-define-polyfill-provider': 0.4.4(@babel/core@7.29.7)
+ '@babel/compat-data': 7.29.7
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-define-polyfill-provider': 0.4.4(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)
semver: 6.3.1
transitivePeerDependencies:
- supports-color
- babel-plugin-polyfill-corejs3@0.8.7(@babel/core@7.29.7):
+ babel-plugin-polyfill-corejs3@0.8.7(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0):
dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-define-polyfill-provider': 0.4.4(@babel/core@7.29.7)
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-define-polyfill-provider': 0.4.4(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)
core-js-compat: 3.35.0
transitivePeerDependencies:
- supports-color
- babel-plugin-polyfill-regenerator@0.5.4(@babel/core@7.29.7):
+ babel-plugin-polyfill-regenerator@0.5.4(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0):
dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-define-polyfill-provider': 0.4.4(@babel/core@7.29.7)
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-define-polyfill-provider': 0.4.4(@babel/core@7.29.7(supports-color@7.2.0))(supports-color@7.2.0)
transitivePeerDependencies:
- supports-color
- babel-plugin-transform-typescript-metadata@0.3.2(@babel/core@7.29.7)(@babel/traverse@7.28.5):
+ babel-plugin-transform-typescript-metadata@0.3.2(@babel/core@7.29.7(supports-color@7.2.0))(@babel/traverse@7.29.7(supports-color@7.2.0)):
dependencies:
- '@babel/core': 7.29.7
- '@babel/helper-plugin-utils': 7.28.6
+ '@babel/core': 7.29.7(supports-color@7.2.0)
+ '@babel/helper-plugin-utils': 7.29.7
optionalDependencies:
- '@babel/traverse': 7.28.5
+ '@babel/traverse': 7.29.7(supports-color@7.2.0)
- babel-preset-current-node-syntax@1.2.0(@babel/core@7.29.7):
+ babel-preset-current-node-syntax@1.2.0(@babel/core@7.29.7(supports-color@10.2.2)):
dependencies:
- '@babel/core': 7.29.7
- '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.29.7)
- '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.29.7)
- '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.29.7)
- '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.29.7)
- '@babel/plugin-syntax-import-attributes': 7.28.6(@babel/core@7.29.7)
- '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.29.7)
- '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.29.7)
- '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.29.7)
- '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.29.7)
- '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.29.7)
- '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.29.7)
- '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.29.7)
- '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.29.7)
- '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.29.7)
- '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.29.7)
+ '@babel/core': 7.29.7(supports-color@10.2.2)
+ '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.29.7(supports-color@10.2.2))
+ '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.29.7(supports-color@10.2.2))
+ '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.29.7(supports-color@10.2.2))
+ '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.29.7(supports-color@10.2.2))
+ '@babel/plugin-syntax-import-attributes': 7.28.6(@babel/core@7.29.7(supports-color@10.2.2))
+ '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.29.7(supports-color@10.2.2))
+ '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.29.7(supports-color@10.2.2))
+ '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.29.7(supports-color@10.2.2))
+ '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.29.7(supports-color@10.2.2))
+ '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.29.7(supports-color@10.2.2))
+ '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.29.7(supports-color@10.2.2))
+ '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.29.7(supports-color@10.2.2))
+ '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.29.7(supports-color@10.2.2))
+ '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.29.7(supports-color@10.2.2))
+ '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.29.7(supports-color@10.2.2))
- babel-preset-jest@30.3.0(@babel/core@7.29.7):
+ babel-preset-jest@30.3.0(@babel/core@7.29.7(supports-color@10.2.2)):
dependencies:
- '@babel/core': 7.29.7
+ '@babel/core': 7.29.7(supports-color@10.2.2)
babel-plugin-jest-hoist: 30.3.0
- babel-preset-current-node-syntax: 1.2.0(@babel/core@7.29.7)
+ babel-preset-current-node-syntax: 1.2.0(@babel/core@7.29.7(supports-color@10.2.2))
balanced-match@1.0.2: {}
+ balanced-match@4.0.3: {}
+
balanced-match@4.0.4: {}
base64-js@1.5.1: {}
@@ -15737,17 +15399,17 @@ snapshots:
blueimp-load-image@5.16.0: {}
- body-parser@2.2.2:
+ body-parser@2.3.0(supports-color@10.2.2):
dependencies:
bytes: 3.1.2
- content-type: 1.0.5
- debug: 4.4.3
+ content-type: 2.0.0
+ debug: 4.4.3(supports-color@10.2.2)
http-errors: 2.0.1
iconv-lite: 0.7.2
on-finished: 2.4.1
qs: 6.15.3
raw-body: 3.0.2
- type-is: 2.0.1
+ type-is: 2.1.0
transitivePeerDependencies:
- supports-color
@@ -15766,16 +15428,12 @@ snapshots:
widest-line: 3.1.0
wrap-ansi: 7.0.0
- brace-expansion@1.1.15:
+ brace-expansion@1.1.18:
dependencies:
balanced-match: 1.0.2
concat-map: 0.0.1
- brace-expansion@2.0.3:
- dependencies:
- balanced-match: 1.0.2
-
- brace-expansion@5.0.6:
+ brace-expansion@5.0.9:
dependencies:
balanced-match: 4.0.4
@@ -15815,10 +15473,10 @@ snapshots:
base64-js: 1.5.1
ieee754: 1.2.1
- bullmq@5.79.0:
+ bullmq@5.79.0(supports-color@10.2.2):
dependencies:
cron-parser: 4.9.0
- ioredis: 5.10.1
+ ioredis: 5.10.1(supports-color@10.2.2)
msgpackr: 2.0.2
node-abort-controller: 3.1.1
semver: 7.8.1
@@ -15826,6 +15484,10 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ bundle-name@4.1.0:
+ dependencies:
+ run-applescript: 7.0.0
+
bytes@3.1.2: {}
cache-manager@7.2.8:
@@ -15874,6 +15536,8 @@ snapshots:
ansi-styles: 4.3.0
supports-color: 7.2.0
+ chalk@5.6.2: {}
+
char-regex@1.0.2: {}
chardet@2.1.1: {}
@@ -15900,7 +15564,7 @@ snapshots:
parse5: 7.3.0
parse5-htmlparser2-tree-adapter: 7.1.0
parse5-parser-stream: 7.1.2
- undici: 7.28.0
+ undici: 7.29.0
whatwg-mimetype: 4.0.0
chevrotain-allstar@0.3.1(chevrotain@11.0.3):
@@ -15979,6 +15643,12 @@ snapshots:
strip-ansi: 6.0.1
wrap-ansi: 7.0.0
+ cliui@9.0.1:
+ dependencies:
+ string-width: 7.2.0
+ strip-ansi: 7.2.0
+ wrap-ansi: 9.0.2
+
clone@1.0.4: {}
clsx@1.1.1: {}
@@ -16029,14 +15699,14 @@ snapshots:
concat-map@0.0.1: {}
- concurrently@9.2.3:
+ concurrently@10.0.4:
dependencies:
- chalk: 4.1.2
+ chalk: 5.6.2
rxjs: 7.8.2
- shell-quote: 1.8.4
- supports-color: 8.1.1
+ shell-quote: 1.9.0
+ supports-color: 10.2.2
tree-kill: 1.2.2
- yargs: 17.7.2
+ yargs: 18.0.0
conf@15.1.0:
dependencies:
@@ -16054,8 +15724,12 @@ snapshots:
content-disposition@1.0.1: {}
+ content-disposition@2.0.1: {}
+
content-type@1.0.5: {}
+ content-type@2.0.0: {}
+
convert-source-map@2.0.0: {}
cookie-signature@1.2.2: {}
@@ -16064,12 +15738,9 @@ snapshots:
cookie@1.1.1: {}
- cookiejar@2.1.4: {}
+ cookie@2.0.1: {}
- copy-anything@2.0.6:
- dependencies:
- is-what: 3.14.1
- optional: true
+ cookiejar@2.1.4: {}
core-js-compat@3.35.0:
dependencies:
@@ -16103,7 +15774,7 @@ snapshots:
cosmiconfig@8.3.6(typescript@5.9.3):
dependencies:
import-fresh: 3.3.0
- js-yaml: 4.3.0
+ js-yaml: 4.3.1
parse-json: 5.2.0
path-type: 4.0.0
optionalDependencies:
@@ -16113,7 +15784,7 @@ snapshots:
dependencies:
env-paths: 2.2.1
import-fresh: 3.3.0
- js-yaml: 4.3.0
+ js-yaml: 4.3.1
parse-json: 5.2.0
optionalDependencies:
typescript: 5.9.3
@@ -16182,17 +15853,17 @@ snapshots:
csv-stringify@6.8.0: {}
- cytoscape-cose-bilkent@4.1.0(cytoscape@3.33.1):
+ cytoscape-cose-bilkent@4.1.0(cytoscape@3.34.0):
dependencies:
cose-base: 1.0.3
- cytoscape: 3.33.1
+ cytoscape: 3.34.0
- cytoscape-fcose@2.2.0(cytoscape@3.33.1):
+ cytoscape-fcose@2.2.0(cytoscape@3.34.0):
dependencies:
cose-base: 2.2.0
- cytoscape: 3.33.1
+ cytoscape: 3.34.0
- cytoscape@3.33.1: {}
+ cytoscape@3.34.0: {}
d3-array@2.12.1:
dependencies:
@@ -16393,7 +16064,7 @@ snapshots:
dateformat@4.6.3: {}
- dayjs@1.11.19: {}
+ dayjs@1.11.21: {}
debounce-fn@6.0.0:
dependencies:
@@ -16401,13 +16072,23 @@ snapshots:
debounce@2.0.0: {}
- debug@4.3.7:
+ debug@4.3.7(supports-color@10.2.2):
dependencies:
ms: 2.1.3
+ optionalDependencies:
+ supports-color: 10.2.2
- debug@4.4.3:
+ debug@4.4.3(supports-color@10.2.2):
dependencies:
ms: 2.1.3
+ optionalDependencies:
+ supports-color: 10.2.2
+
+ debug@4.4.3(supports-color@7.2.0):
+ dependencies:
+ ms: 2.1.3
+ optionalDependencies:
+ supports-color: 7.2.0
decamelize@1.2.0: {}
@@ -16421,6 +16102,13 @@ snapshots:
deepmerge@4.3.1: {}
+ default-browser-id@5.0.0: {}
+
+ default-browser@5.2.1:
+ dependencies:
+ bundle-name: 4.1.0
+ default-browser-id: 5.0.0
+
defaults@1.0.4:
dependencies:
clone: 1.0.4
@@ -16431,7 +16119,7 @@ snapshots:
es-errors: 1.3.0
gopd: 1.2.0
- define-lazy-prop@2.0.0: {}
+ define-lazy-prop@3.0.0: {}
define-properties@1.2.1:
dependencies:
@@ -16457,12 +16145,9 @@ snapshots:
detect-node-es@1.1.0: {}
- detect-port@1.5.1:
+ detect-port@2.1.0:
dependencies:
- address: 1.2.2
- debug: 4.4.3
- transitivePeerDependencies:
- - supports-color
+ address: 2.0.3
devlop@1.1.0:
dependencies:
@@ -16490,7 +16175,7 @@ snapshots:
'@types/node': 25.5.0
hash.js: 1.1.7
jszip: 3.10.1
- nanoid: 5.1.7
+ nanoid: 5.1.16
xml: 1.0.1
xml-js: 1.6.11
@@ -16515,7 +16200,7 @@ snapshots:
dependencies:
domelementtype: 2.3.0
- dompurify@3.4.11:
+ dompurify@3.4.13:
optionalDependencies:
'@types/trusted-types': 2.0.7
@@ -16529,18 +16214,12 @@ snapshots:
dependencies:
type-fest: 5.7.0
- dotenv-expand@11.0.6:
- dependencies:
- dotenv: 16.4.7
-
dotenv-expand@12.0.3:
dependencies:
dotenv: 16.4.7
dotenv@16.4.7: {}
- dotenv@17.2.4: {}
-
dotenv@17.4.1: {}
duck@0.1.12:
@@ -16559,14 +16238,14 @@ snapshots:
ee-first@1.1.1: {}
- ejs@3.1.10:
- dependencies:
- jake: 10.8.7
+ ejs@5.0.1: {}
electron-to-chromium@1.5.286: {}
emittery@0.13.1: {}
+ emoji-regex@10.6.0: {}
+
emoji-regex@8.0.0: {}
encodeurl@2.0.0: {}
@@ -16576,16 +16255,16 @@ snapshots:
iconv-lite: 0.6.3
whatwg-encoding: 3.1.1
- end-of-stream@1.4.4:
+ end-of-stream@1.4.5:
dependencies:
once: 1.4.0
- engine.io-client@6.6.2:
+ engine.io-client@6.6.2(supports-color@10.2.2):
dependencies:
'@socket.io/component-emitter': 3.1.0
- debug: 4.3.7
+ debug: 4.3.7(supports-color@10.2.2)
engine.io-parser: 5.2.2
- ws: 8.21.0
+ ws: 8.21.3
xmlhttprequest-ssl: 2.1.2
transitivePeerDependencies:
- bufferutil
@@ -16594,18 +16273,18 @@ snapshots:
engine.io-parser@5.2.2: {}
- engine.io@6.6.2:
+ engine.io@6.6.9(supports-color@10.2.2):
dependencies:
- '@types/cookie': 0.4.1
'@types/cors': 2.8.17
'@types/node': 25.5.0
+ '@types/ws': 8.18.1
accepts: 1.3.8
base64id: 2.0.0
cookie: 0.7.2
cors: 2.8.5
- debug: 4.3.7
+ debug: 4.4.3(supports-color@10.2.2)
engine.io-parser: 5.2.2
- ws: 8.21.0
+ ws: 8.21.3
transitivePeerDependencies:
- bufferutil
- supports-color
@@ -16630,11 +16309,6 @@ snapshots:
env-paths@3.0.0: {}
- errno@0.1.8:
- dependencies:
- prr: 1.0.1
- optional: true
-
error-ex@1.3.2:
dependencies:
is-arrayish: 0.2.1
@@ -16663,7 +16337,7 @@ snapshots:
has-property-descriptors: 1.0.2
has-proto: 1.2.0
has-symbols: 1.1.0
- hasown: 2.0.2
+ hasown: 2.0.4
internal-slot: 1.1.0
is-array-buffer: 3.0.5
is-callable: 1.2.7
@@ -16735,7 +16409,7 @@ snapshots:
es-shim-unscopables@1.0.2:
dependencies:
- hasown: 2.0.2
+ hasown: 2.0.4
es-to-primitive@1.3.0:
dependencies:
@@ -16788,26 +16462,26 @@ snapshots:
escape-string-regexp@5.0.0: {}
- eslint-config-prettier@10.1.8(eslint@9.39.4(jiti@2.4.2)):
+ eslint-config-prettier@10.1.8(eslint@9.28.0(jiti@2.4.2)(supports-color@10.2.2)):
dependencies:
- eslint: 9.39.4(jiti@2.4.2)
+ eslint: 9.28.0(jiti@2.4.2)(supports-color@10.2.2)
- eslint-plugin-react-hooks@7.0.1(eslint@9.28.0(jiti@2.4.2)):
+ eslint-plugin-react-hooks@7.0.1(eslint@9.28.0(jiti@2.4.2)(supports-color@10.2.2))(supports-color@10.2.2):
dependencies:
- '@babel/core': 7.29.7
- '@babel/parser': 7.28.5
- eslint: 9.28.0(jiti@2.4.2)
+ '@babel/core': 7.29.7(supports-color@10.2.2)
+ '@babel/parser': 7.29.7
+ eslint: 9.28.0(jiti@2.4.2)(supports-color@10.2.2)
hermes-parser: 0.25.1
zod: 4.3.6
zod-validation-error: 4.0.2(zod@4.3.6)
transitivePeerDependencies:
- supports-color
- eslint-plugin-react-refresh@0.5.2(eslint@9.28.0(jiti@2.4.2)):
+ eslint-plugin-react-refresh@0.5.2(eslint@9.28.0(jiti@2.4.2)(supports-color@10.2.2)):
dependencies:
- eslint: 9.28.0(jiti@2.4.2)
+ eslint: 9.28.0(jiti@2.4.2)(supports-color@10.2.2)
- eslint-plugin-react@7.37.5(eslint@9.28.0(jiti@2.4.2)):
+ eslint-plugin-react@7.37.5(eslint@9.28.0(jiti@2.4.2)(supports-color@10.2.2)):
dependencies:
array-includes: 3.1.8
array.prototype.findlast: 1.2.5
@@ -16815,9 +16489,9 @@ snapshots:
array.prototype.tosorted: 1.1.4
doctrine: 2.1.0
es-iterator-helpers: 1.3.1
- eslint: 9.28.0(jiti@2.4.2)
+ eslint: 9.28.0(jiti@2.4.2)(supports-color@10.2.2)
estraverse: 5.3.0
- hasown: 2.0.2
+ hasown: 2.0.4
jsx-ast-utils: 3.3.5
minimatch: 3.1.5
object.entries: 1.1.9
@@ -16845,14 +16519,14 @@ snapshots:
eslint-visitor-keys@5.0.1: {}
- eslint@9.28.0(jiti@2.4.2):
+ eslint@9.28.0(jiti@2.4.2)(supports-color@10.2.2):
dependencies:
- '@eslint-community/eslint-utils': 4.9.1(eslint@9.28.0(jiti@2.4.2))
+ '@eslint-community/eslint-utils': 4.9.1(eslint@9.28.0(jiti@2.4.2)(supports-color@10.2.2))
'@eslint-community/regexpp': 4.12.2
- '@eslint/config-array': 0.20.1
+ '@eslint/config-array': 0.20.1(supports-color@10.2.2)
'@eslint/config-helpers': 0.2.3
'@eslint/core': 0.14.0
- '@eslint/eslintrc': 3.3.5
+ '@eslint/eslintrc': 3.3.5(supports-color@10.2.2)
'@eslint/js': 9.28.0
'@eslint/plugin-kit': 0.3.5
'@humanfs/node': 0.16.6
@@ -16863,48 +16537,7 @@ snapshots:
ajv: 6.14.0
chalk: 4.1.2
cross-spawn: 7.0.6
- debug: 4.4.3
- escape-string-regexp: 4.0.0
- eslint-scope: 8.4.0
- eslint-visitor-keys: 4.2.1
- espree: 10.4.0
- esquery: 1.7.0
- esutils: 2.0.3
- fast-deep-equal: 3.1.3
- file-entry-cache: 8.0.0
- find-up: 5.0.0
- glob-parent: 6.0.2
- ignore: 5.3.1
- imurmurhash: 0.1.4
- is-glob: 4.0.3
- json-stable-stringify-without-jsonify: 1.0.1
- lodash.merge: 4.6.2
- minimatch: 3.1.5
- natural-compare: 1.4.0
- optionator: 0.9.3
- optionalDependencies:
- jiti: 2.4.2
- transitivePeerDependencies:
- - supports-color
-
- eslint@9.39.4(jiti@2.4.2):
- dependencies:
- '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@2.4.2))
- '@eslint-community/regexpp': 4.12.2
- '@eslint/config-array': 0.21.2
- '@eslint/config-helpers': 0.4.2
- '@eslint/core': 0.17.0
- '@eslint/eslintrc': 3.3.5
- '@eslint/js': 9.39.4
- '@eslint/plugin-kit': 0.4.1
- '@humanfs/node': 0.16.6
- '@humanwhocodes/module-importer': 1.0.1
- '@humanwhocodes/retry': 0.4.3
- '@types/estree': 1.0.8
- ajv: 6.14.0
- chalk: 4.1.2
- cross-spawn: 7.0.6
- debug: 4.4.3
+ debug: 4.4.3(supports-color@10.2.2)
escape-string-regexp: 4.0.0
eslint-scope: 8.4.0
eslint-visitor-keys: 4.2.1
@@ -16984,15 +16617,6 @@ snapshots:
expect-type@1.3.0: {}
- expect@30.2.0:
- dependencies:
- '@jest/expect-utils': 30.2.0
- '@jest/get-type': 30.1.0
- jest-matcher-utils: 30.2.0
- jest-message-util: 30.2.0
- jest-mock: 30.2.0
- jest-util: 30.2.0
-
expect@30.3.0:
dependencies:
'@jest/expect-utils': 30.3.0
@@ -17002,25 +16626,25 @@ snapshots:
jest-mock: 30.3.0
jest-util: 30.3.0
- express-rate-limit@8.2.2(express@5.2.1):
+ express-rate-limit@8.2.2(express@5.2.1(supports-color@10.2.2)):
dependencies:
- express: 5.2.1
- ip-address: 10.1.1
+ express: 5.2.1(supports-color@10.2.2)
+ ip-address: 10.3.1
- express@5.2.1:
+ express@5.2.1(supports-color@10.2.2):
dependencies:
accepts: 2.0.0
- body-parser: 2.2.2
+ body-parser: 2.3.0(supports-color@10.2.2)
content-disposition: 1.0.1
content-type: 1.0.5
cookie: 0.7.2
cookie-signature: 1.2.2
- debug: 4.4.3
+ debug: 4.4.3(supports-color@10.2.2)
depd: 2.0.0
encodeurl: 2.0.0
escape-html: 1.0.3
etag: 1.8.1
- finalhandler: 2.1.1
+ finalhandler: 2.1.1(supports-color@10.2.2)
fresh: 2.0.0
http-errors: 2.0.1
merge-descriptors: 2.0.0
@@ -17031,9 +16655,9 @@ snapshots:
proxy-addr: 2.0.7
qs: 6.15.3
range-parser: 1.2.1
- router: 2.2.0
- send: 1.2.1
- serve-static: 2.2.1
+ router: 2.2.0(supports-color@10.2.2)
+ send: 1.2.1(supports-color@10.2.2)
+ serve-static: 2.2.1(supports-color@10.2.2)
statuses: 2.0.2
type-is: 2.0.1
vary: 1.1.2
@@ -17060,10 +16684,19 @@ snapshots:
'@fastify/merge-json-schemas': 0.2.1
ajv: 8.18.0
ajv-formats: 3.0.1(ajv@8.18.0)
- fast-uri: 3.1.3
+ fast-uri: 3.1.5
json-schema-ref-resolver: 2.0.1
rfdc: 1.3.1
+ fast-json-stringify@7.0.1:
+ dependencies:
+ '@fastify/merge-json-schemas': 0.2.1
+ ajv: 8.18.0
+ ajv-formats: 3.0.1(ajv@8.18.0)
+ fast-uri: 3.1.5
+ json-schema-ref-resolver: 3.0.0
+ rfdc: 1.3.1
+
fast-levenshtein@2.0.6: {}
fast-querystring@1.1.2:
@@ -17072,7 +16705,7 @@ snapshots:
fast-safe-stringify@2.1.1: {}
- fast-uri@3.1.3: {}
+ fast-uri@3.1.5: {}
fast-xml-builder@1.2.0:
dependencies:
@@ -17090,13 +16723,11 @@ snapshots:
dependencies:
fastify-plugin: 5.1.0
- fastify-plugin@5.0.1: {}
-
fastify-plugin@5.1.0: {}
fastify-plugin@6.0.0: {}
- fastify@5.8.5:
+ fastify@5.11.3:
dependencies:
'@fastify/ajv-compiler': 4.0.5
'@fastify/error': 4.0.0
@@ -17104,8 +16735,8 @@ snapshots:
'@fastify/proxy-addr': 5.0.0
abstract-logging: 2.0.1
avvio: 9.1.0
- fast-json-stringify: 6.0.1
- find-my-way: 9.6.0
+ fast-json-stringify: 7.0.1
+ find-my-way: 9.7.0
light-my-request: 6.6.0
pino: 10.1.0
process-warning: 5.0.0
@@ -17138,26 +16769,22 @@ snapshots:
file-saver@2.0.5: {}
- file-type@21.3.4:
+ file-type@21.3.4(supports-color@10.2.2):
dependencies:
- '@tokenizer/inflate': 0.4.1
+ '@tokenizer/inflate': 0.4.1(supports-color@10.2.2)
strtok3: 10.3.4
token-types: 6.1.2
uint8array-extras: 1.5.0
transitivePeerDependencies:
- supports-color
- filelist@1.0.4:
- dependencies:
- minimatch: 5.1.8
-
fill-range@7.1.1:
dependencies:
to-regex-range: 5.0.1
- finalhandler@2.1.1:
+ finalhandler@2.1.1(supports-color@10.2.2):
dependencies:
- debug: 4.4.3
+ debug: 4.4.3(supports-color@10.2.2)
encodeurl: 2.0.0
escape-html: 1.0.3
on-finished: 2.4.1
@@ -17166,7 +16793,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
- find-my-way@9.6.0:
+ find-my-way@9.7.0:
dependencies:
fast-deep-equal: 3.1.3
fast-querystring: 1.1.2
@@ -17191,15 +16818,21 @@ snapshots:
flatted@3.4.2: {}
- follow-redirects@1.16.0: {}
+ follow-redirects@1.16.0(debug@4.4.3(supports-color@10.2.2)):
+ optionalDependencies:
+ debug: 4.4.3(supports-color@10.2.2)
+
+ follow-redirects@1.16.0(debug@4.4.3(supports-color@7.2.0)):
+ optionalDependencies:
+ debug: 4.4.3(supports-color@7.2.0)
for-each@0.3.5:
dependencies:
is-callable: 1.2.7
- fork-ts-checker-webpack-plugin@9.1.0(typescript@5.9.3)(webpack@5.106.0(@swc/core@1.5.25(@swc/helpers@0.5.5))):
+ fork-ts-checker-webpack-plugin@9.1.0(typescript@5.9.3)(webpack@5.106.0(@swc/core@1.5.25(@swc/helpers@0.5.5))(esbuild@0.28.1)(uglify-js@3.19.3)):
dependencies:
- '@babel/code-frame': 7.27.1
+ '@babel/code-frame': 7.29.7
chalk: 4.1.2
chokidar: 4.0.3
cosmiconfig: 8.3.6(typescript@5.9.3)
@@ -17212,7 +16845,7 @@ snapshots:
semver: 7.7.4
tapable: 2.3.0
typescript: 5.9.3
- webpack: 5.106.0(@swc/core@1.5.25(@swc/helpers@0.5.5))
+ webpack: 5.106.0(@swc/core@1.5.25(@swc/helpers@0.5.5))(esbuild@0.28.1)(uglify-js@3.19.3)
form-data@4.0.6:
dependencies:
@@ -17236,10 +16869,6 @@ snapshots:
fresh@2.0.0: {}
- front-matter@4.0.2:
- dependencies:
- js-yaml: 3.15.0
-
fs-constants@1.0.0: {}
fs-extra@10.1.0:
@@ -17278,6 +16907,8 @@ snapshots:
get-caller-file@2.0.5: {}
+ get-east-asian-width@1.6.0: {}
+
get-intrinsic@1.3.0:
dependencies:
call-bind-apply-helpers: 1.0.2
@@ -17288,7 +16919,7 @@ snapshots:
get-proto: 1.0.1
gopd: 1.2.0
has-symbols: 1.1.0
- hasown: 2.0.2
+ hasown: 2.0.4
math-intrinsics: 1.1.0
get-nonce@1.0.1: {}
@@ -17324,7 +16955,7 @@ snapshots:
glob@13.0.6:
dependencies:
- minimatch: 10.2.4
+ minimatch: 10.2.5
minipass: 7.1.3
path-scurry: 2.0.2
@@ -17365,7 +16996,7 @@ snapshots:
'@types/ws': 8.18.1
entities: 7.0.1
whatwg-mimetype: 3.0.0
- ws: 8.21.0
+ ws: 8.21.3
transitivePeerDependencies:
- bufferutil
- utf-8-validate
@@ -17397,10 +17028,6 @@ snapshots:
dependencies:
hookified: 1.15.1
- hasown@2.0.2:
- dependencies:
- function-bind: 1.1.2
-
hasown@2.0.4:
dependencies:
function-bind: 1.1.2
@@ -17417,7 +17044,7 @@ snapshots:
highlightjs-sap-abap@0.3.0: {}
- hono@4.12.25: {}
+ hono@4.12.34: {}
hookified@1.15.1: {}
@@ -17463,24 +17090,45 @@ snapshots:
statuses: 2.0.2
toidentifier: 1.0.1
- http-proxy-agent@7.0.2:
+ http-proxy-agent@7.0.2(supports-color@10.2.2):
dependencies:
agent-base: 7.1.4
- debug: 4.4.3
+ debug: 4.4.3(supports-color@10.2.2)
transitivePeerDependencies:
- supports-color
- https-proxy-agent@5.0.1:
+ http-proxy-agent@7.0.2(supports-color@7.2.0):
dependencies:
- agent-base: 6.0.2
- debug: 4.4.3
+ agent-base: 7.1.4
+ debug: 4.4.3(supports-color@7.2.0)
transitivePeerDependencies:
- supports-color
- https-proxy-agent@7.0.6:
+ https-proxy-agent@5.0.1(supports-color@10.2.2):
+ dependencies:
+ agent-base: 6.0.2(supports-color@10.2.2)
+ debug: 4.4.3(supports-color@10.2.2)
+ transitivePeerDependencies:
+ - supports-color
+
+ https-proxy-agent@5.0.1(supports-color@7.2.0):
+ dependencies:
+ agent-base: 6.0.2(supports-color@7.2.0)
+ debug: 4.4.3(supports-color@7.2.0)
+ transitivePeerDependencies:
+ - supports-color
+
+ https-proxy-agent@7.0.6(supports-color@10.2.2):
dependencies:
agent-base: 7.1.4
- debug: 4.4.3
+ debug: 4.4.3(supports-color@10.2.2)
+ transitivePeerDependencies:
+ - supports-color
+
+ https-proxy-agent@7.0.6(supports-color@7.2.0):
+ dependencies:
+ agent-base: 7.1.4
+ debug: 4.4.3(supports-color@7.2.0)
transitivePeerDependencies:
- supports-color
@@ -17518,12 +17166,9 @@ snapshots:
image-dimensions@2.5.0: {}
- image-size@0.5.5:
- optional: true
-
immediate@3.0.6: {}
- immutable@4.3.8: {}
+ immutable@4.3.9: {}
import-fresh@3.3.0:
dependencies:
@@ -17544,8 +17189,8 @@ snapshots:
internal-slot@1.1.0:
dependencies:
es-errors: 1.3.0
- hasown: 2.0.2
- side-channel: 1.1.0
+ hasown: 2.0.4
+ side-channel: 1.1.1
internmap@1.0.1: {}
@@ -17555,11 +17200,11 @@ snapshots:
dependencies:
loose-envify: 1.4.0
- ioredis@5.10.1:
+ ioredis@5.10.1(supports-color@10.2.2):
dependencies:
'@ioredis/commands': 1.5.1
cluster-key-slot: 1.1.2
- debug: 4.4.3
+ debug: 4.4.3(supports-color@10.2.2)
denque: 2.1.0
lodash.defaults: 4.2.0
lodash.isarguments: 3.1.0
@@ -17569,7 +17214,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
- ip-address@10.1.1: {}
+ ip-address@10.3.1: {}
ipaddr.js@1.9.1: {}
@@ -17604,7 +17249,7 @@ snapshots:
is-core-module@2.13.1:
dependencies:
- hasown: 2.0.2
+ hasown: 2.0.4
is-data-view@1.0.2:
dependencies:
@@ -17617,7 +17262,7 @@ snapshots:
call-bound: 1.0.4
has-tostringtag: 1.0.2
- is-docker@2.2.1: {}
+ is-docker@3.0.0: {}
is-extglob@2.1.1: {}
@@ -17637,6 +17282,10 @@ snapshots:
dependencies:
is-extglob: 2.1.1
+ is-inside-container@1.0.0:
+ dependencies:
+ is-docker: 3.0.0
+
is-interactive@1.0.0: {}
is-map@2.0.3: {}
@@ -17699,12 +17348,9 @@ snapshots:
call-bind: 1.0.8
get-intrinsic: 1.3.0
- is-what@3.14.1:
- optional: true
-
- is-wsl@2.2.0:
+ is-wsl@3.1.0:
dependencies:
- is-docker: 2.2.1
+ is-inside-container: 1.0.0
isarray@1.0.0: {}
@@ -17716,9 +17362,9 @@ snapshots:
istanbul-lib-coverage@3.2.2: {}
- istanbul-lib-instrument@6.0.2:
+ istanbul-lib-instrument@6.0.2(supports-color@10.2.2):
dependencies:
- '@babel/core': 7.29.7
+ '@babel/core': 7.29.7(supports-color@10.2.2)
'@babel/parser': 7.29.7
'@istanbuljs/schema': 0.1.3
istanbul-lib-coverage: 3.2.2
@@ -17732,10 +17378,10 @@ snapshots:
make-dir: 4.0.0
supports-color: 7.2.0
- istanbul-lib-source-maps@5.0.6:
+ istanbul-lib-source-maps@5.0.6(supports-color@10.2.2):
dependencies:
'@jridgewell/trace-mapping': 0.3.31
- debug: 4.4.3
+ debug: 4.4.3(supports-color@10.2.2)
istanbul-lib-coverage: 3.2.2
transitivePeerDependencies:
- supports-color
@@ -17756,23 +17402,16 @@ snapshots:
has-symbols: 1.1.0
set-function-name: 2.0.2
- jake@10.8.7:
- dependencies:
- async: 3.2.5
- chalk: 4.1.2
- filelist: 1.0.4
- minimatch: 3.1.5
-
jest-changed-files@30.3.0:
dependencies:
execa: 5.1.1
jest-util: 30.3.0
p-limit: 3.1.0
- jest-circus@30.3.0(babel-plugin-macros@3.1.0):
+ jest-circus@30.3.0(babel-plugin-macros@3.1.0)(supports-color@10.2.2):
dependencies:
'@jest/environment': 30.3.0
- '@jest/expect': 30.3.0
+ '@jest/expect': 30.3.0(supports-color@10.2.2)
'@jest/test-result': 30.3.0
'@jest/types': 30.3.0
'@types/node': 25.5.0
@@ -17783,8 +17422,8 @@ snapshots:
jest-each: 30.3.0
jest-matcher-utils: 30.3.0
jest-message-util: 30.3.0
- jest-runtime: 30.3.0
- jest-snapshot: 30.3.0
+ jest-runtime: 30.3.0(supports-color@10.2.2)
+ jest-snapshot: 30.3.0(supports-color@10.2.2)
jest-util: 30.3.0
p-limit: 3.1.0
pretty-format: 30.3.0
@@ -17795,15 +17434,15 @@ snapshots:
- babel-plugin-macros
- supports-color
- jest-cli@30.3.0(@types/node@25.5.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.5))(@types/node@25.5.0)(typescript@5.9.3)):
+ jest-cli@30.3.0(@types/node@25.5.0)(babel-plugin-macros@3.1.0)(supports-color@10.2.2)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.5))(@types/node@25.5.0)(typescript@5.9.3)):
dependencies:
- '@jest/core': 30.3.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.5))(@types/node@25.5.0)(typescript@5.9.3))
+ '@jest/core': 30.3.0(babel-plugin-macros@3.1.0)(supports-color@10.2.2)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.5))(@types/node@25.5.0)(typescript@5.9.3))
'@jest/test-result': 30.3.0
'@jest/types': 30.3.0
chalk: 4.1.2
exit-x: 0.2.2
import-local: 3.2.0
- jest-config: 30.3.0(@types/node@25.5.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.5))(@types/node@25.5.0)(typescript@5.9.3))
+ jest-config: 30.3.0(@types/node@25.5.0)(babel-plugin-macros@3.1.0)(supports-color@10.2.2)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.5))(@types/node@25.5.0)(typescript@5.9.3))
jest-util: 30.3.0
jest-validate: 30.3.0
yargs: 17.7.2
@@ -17814,25 +17453,25 @@ snapshots:
- supports-color
- ts-node
- jest-config@30.3.0(@types/node@25.5.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.5))(@types/node@25.5.0)(typescript@5.9.3)):
+ jest-config@30.3.0(@types/node@25.5.0)(babel-plugin-macros@3.1.0)(supports-color@10.2.2)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.5))(@types/node@25.5.0)(typescript@5.9.3)):
dependencies:
- '@babel/core': 7.29.7
+ '@babel/core': 7.29.7(supports-color@10.2.2)
'@jest/get-type': 30.1.0
'@jest/pattern': 30.0.1
'@jest/test-sequencer': 30.3.0
'@jest/types': 30.3.0
- babel-jest: 30.3.0(@babel/core@7.29.7)
+ babel-jest: 30.3.0(@babel/core@7.29.7(supports-color@10.2.2))(supports-color@10.2.2)
chalk: 4.1.2
ci-info: 4.4.0
deepmerge: 4.3.1
glob: 13.0.6
graceful-fs: 4.2.11
- jest-circus: 30.3.0(babel-plugin-macros@3.1.0)
+ jest-circus: 30.3.0(babel-plugin-macros@3.1.0)(supports-color@10.2.2)
jest-docblock: 30.2.0
jest-environment-node: 30.3.0
jest-regex-util: 30.0.1
jest-resolve: 30.3.0
- jest-runner: 30.3.0
+ jest-runner: 30.3.0(supports-color@10.2.2)
jest-util: 30.3.0
jest-validate: 30.3.0
parse-json: 5.2.0
@@ -17846,13 +17485,6 @@ snapshots:
- babel-plugin-macros
- supports-color
- jest-diff@30.2.0:
- dependencies:
- '@jest/diff-sequences': 30.0.1
- '@jest/get-type': 30.1.0
- chalk: 4.1.2
- pretty-format: 30.2.0
-
jest-diff@30.3.0:
dependencies:
'@jest/diff-sequences': 30.3.0
@@ -17902,13 +17534,6 @@ snapshots:
'@jest/get-type': 30.1.0
pretty-format: 30.3.0
- jest-matcher-utils@30.2.0:
- dependencies:
- '@jest/get-type': 30.1.0
- chalk: 4.1.2
- jest-diff: 30.2.0
- pretty-format: 30.2.0
-
jest-matcher-utils@30.3.0:
dependencies:
'@jest/get-type': 30.1.0
@@ -17916,21 +17541,9 @@ snapshots:
jest-diff: 30.3.0
pretty-format: 30.3.0
- jest-message-util@30.2.0:
- dependencies:
- '@babel/code-frame': 7.29.0
- '@jest/types': 30.2.0
- '@types/stack-utils': 2.0.3
- chalk: 4.1.2
- graceful-fs: 4.2.11
- micromatch: 4.0.8
- pretty-format: 30.2.0
- slash: 3.0.0
- stack-utils: 2.0.6
-
jest-message-util@30.3.0:
dependencies:
- '@babel/code-frame': 7.29.0
+ '@babel/code-frame': 7.29.7
'@jest/types': 30.3.0
'@types/stack-utils': 2.0.3
chalk: 4.1.2
@@ -17940,12 +17553,6 @@ snapshots:
slash: 3.0.0
stack-utils: 2.0.6
- jest-mock@30.2.0:
- dependencies:
- '@jest/types': 30.2.0
- '@types/node': 25.5.0
- jest-util: 30.2.0
-
jest-mock@30.3.0:
dependencies:
'@jest/types': 30.3.0
@@ -17958,10 +17565,10 @@ snapshots:
jest-regex-util@30.0.1: {}
- jest-resolve-dependencies@30.3.0:
+ jest-resolve-dependencies@30.3.0(supports-color@10.2.2):
dependencies:
jest-regex-util: 30.0.1
- jest-snapshot: 30.3.0
+ jest-snapshot: 30.3.0(supports-color@10.2.2)
transitivePeerDependencies:
- supports-color
@@ -17976,12 +17583,12 @@ snapshots:
slash: 3.0.0
unrs-resolver: 1.11.1
- jest-runner@30.3.0:
+ jest-runner@30.3.0(supports-color@10.2.2):
dependencies:
'@jest/console': 30.3.0
'@jest/environment': 30.3.0
'@jest/test-result': 30.3.0
- '@jest/transform': 30.3.0
+ '@jest/transform': 30.3.0(supports-color@10.2.2)
'@jest/types': 30.3.0
'@types/node': 25.5.0
chalk: 4.1.2
@@ -17994,7 +17601,7 @@ snapshots:
jest-leak-detector: 30.3.0
jest-message-util: 30.3.0
jest-resolve: 30.3.0
- jest-runtime: 30.3.0
+ jest-runtime: 30.3.0(supports-color@10.2.2)
jest-util: 30.3.0
jest-watcher: 30.3.0
jest-worker: 30.3.0
@@ -18003,14 +17610,14 @@ snapshots:
transitivePeerDependencies:
- supports-color
- jest-runtime@30.3.0:
+ jest-runtime@30.3.0(supports-color@10.2.2):
dependencies:
'@jest/environment': 30.3.0
'@jest/fake-timers': 30.3.0
- '@jest/globals': 30.3.0
+ '@jest/globals': 30.3.0(supports-color@10.2.2)
'@jest/source-map': 30.0.1
'@jest/test-result': 30.3.0
- '@jest/transform': 30.3.0
+ '@jest/transform': 30.3.0(supports-color@10.2.2)
'@jest/types': 30.3.0
'@types/node': 25.5.0
chalk: 4.1.2
@@ -18023,26 +17630,26 @@ snapshots:
jest-mock: 30.3.0
jest-regex-util: 30.0.1
jest-resolve: 30.3.0
- jest-snapshot: 30.3.0
+ jest-snapshot: 30.3.0(supports-color@10.2.2)
jest-util: 30.3.0
slash: 3.0.0
strip-bom: 4.0.0
transitivePeerDependencies:
- supports-color
- jest-snapshot@30.3.0:
+ jest-snapshot@30.3.0(supports-color@10.2.2):
dependencies:
- '@babel/core': 7.29.7
- '@babel/generator': 7.28.5
- '@babel/plugin-syntax-jsx': 7.28.6(@babel/core@7.29.7)
- '@babel/plugin-syntax-typescript': 7.28.6(@babel/core@7.29.7)
- '@babel/types': 7.28.5
+ '@babel/core': 7.29.7(supports-color@10.2.2)
+ '@babel/generator': 7.29.7
+ '@babel/plugin-syntax-jsx': 7.28.6(@babel/core@7.29.7(supports-color@10.2.2))
+ '@babel/plugin-syntax-typescript': 7.28.6(@babel/core@7.29.7(supports-color@10.2.2))
+ '@babel/types': 7.29.7
'@jest/expect-utils': 30.3.0
'@jest/get-type': 30.1.0
'@jest/snapshot-utils': 30.3.0
- '@jest/transform': 30.3.0
+ '@jest/transform': 30.3.0(supports-color@10.2.2)
'@jest/types': 30.3.0
- babel-preset-current-node-syntax: 1.2.0(@babel/core@7.29.7)
+ babel-preset-current-node-syntax: 1.2.0(@babel/core@7.29.7(supports-color@10.2.2))
chalk: 4.1.2
expect: 30.3.0
graceful-fs: 4.2.11
@@ -18056,15 +17663,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
- jest-util@30.2.0:
- dependencies:
- '@jest/types': 30.2.0
- '@types/node': 25.5.0
- chalk: 4.1.2
- ci-info: 4.4.0
- graceful-fs: 4.2.11
- picomatch: 4.0.4
-
jest-util@30.3.0:
dependencies:
'@jest/types': 30.3.0
@@ -18108,12 +17706,12 @@ snapshots:
merge-stream: 2.0.0
supports-color: 8.1.1
- jest@30.3.0(@types/node@25.5.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.5))(@types/node@25.5.0)(typescript@5.9.3)):
+ jest@30.3.0(@types/node@25.5.0)(babel-plugin-macros@3.1.0)(supports-color@10.2.2)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.5))(@types/node@25.5.0)(typescript@5.9.3)):
dependencies:
- '@jest/core': 30.3.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.5))(@types/node@25.5.0)(typescript@5.9.3))
+ '@jest/core': 30.3.0(babel-plugin-macros@3.1.0)(supports-color@10.2.2)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.5))(@types/node@25.5.0)(typescript@5.9.3))
'@jest/types': 30.3.0
import-local: 3.2.0
- jest-cli: 30.3.0(@types/node@25.5.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.5))(@types/node@25.5.0)(typescript@5.9.3))
+ jest-cli: 30.3.0(@types/node@25.5.0)(babel-plugin-macros@3.1.0)(supports-color@10.2.2)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.5))(@types/node@25.5.0)(typescript@5.9.3))
transitivePeerDependencies:
- '@types/node'
- babel-plugin-macros
@@ -18125,9 +17723,9 @@ snapshots:
jose@6.1.3: {}
- jotai-optics@0.4.0(jotai@2.20.1(@babel/core@7.29.7)(@babel/template@7.27.2)(@types/react@19.2.17)(react@19.2.7))(optics-ts@2.4.1):
+ jotai-optics@0.4.0(jotai@2.20.1(@babel/core@7.29.7(supports-color@10.2.2))(@babel/template@7.29.7)(@types/react@19.2.17)(react@19.2.7))(optics-ts@2.4.1):
dependencies:
- jotai: 2.20.1(@babel/core@7.29.7)(@babel/template@7.27.2)(@types/react@19.2.17)(react@19.2.7)
+ jotai: 2.20.1(@babel/core@7.29.7(supports-color@10.2.2))(@babel/template@7.29.7)(@types/react@19.2.17)(react@19.2.7)
optics-ts: 2.4.1
jotai-scope@0.7.2(jotai@2.11.0(@types/react@19.2.17)(react@19.2.7))(react@19.2.7):
@@ -18140,10 +17738,10 @@ snapshots:
'@types/react': 19.2.17
react: 19.2.7
- jotai@2.20.1(@babel/core@7.29.7)(@babel/template@7.27.2)(@types/react@19.2.17)(react@19.2.7):
+ jotai@2.20.1(@babel/core@7.29.7(supports-color@10.2.2))(@babel/template@7.29.7)(@types/react@19.2.17)(react@19.2.7):
optionalDependencies:
- '@babel/core': 7.29.7
- '@babel/template': 7.27.2
+ '@babel/core': 7.29.7(supports-color@10.2.2)
+ '@babel/template': 7.29.7
'@types/react': 19.2.17
react: 19.2.7
@@ -18157,24 +17755,24 @@ snapshots:
js-tokens@4.0.0: {}
- js-yaml@3.15.0:
+ js-yaml@3.15.1:
dependencies:
argparse: 1.0.10
esprima: 4.0.1
- js-yaml@4.3.0:
+ js-yaml@4.3.1:
dependencies:
argparse: 2.0.1
- jsdom@25.0.0:
+ jsdom@25.0.0(supports-color@10.2.2):
dependencies:
cssstyle: 4.2.1
data-urls: 5.0.0
decimal.js: 10.6.0
form-data: 4.0.6
html-encoding-sniffer: 4.0.0
- http-proxy-agent: 7.0.2
- https-proxy-agent: 7.0.6
+ http-proxy-agent: 7.0.2(supports-color@10.2.2)
+ https-proxy-agent: 7.0.6(supports-color@10.2.2)
is-potential-custom-element-name: 1.0.1
nwsapi: 2.2.16
parse5: 7.3.0
@@ -18187,21 +17785,21 @@ snapshots:
whatwg-encoding: 3.1.1
whatwg-mimetype: 4.0.0
whatwg-url: 14.2.0
- ws: 8.21.0
+ ws: 8.21.3
xml-name-validator: 5.0.0
transitivePeerDependencies:
- bufferutil
- supports-color
- utf-8-validate
- jsdom@26.1.0:
+ jsdom@26.1.0(supports-color@7.2.0):
dependencies:
cssstyle: 4.2.1
data-urls: 5.0.0
decimal.js: 10.6.0
html-encoding-sniffer: 4.0.0
- http-proxy-agent: 7.0.2
- https-proxy-agent: 7.0.6
+ http-proxy-agent: 7.0.2(supports-color@7.2.0)
+ https-proxy-agent: 7.0.6(supports-color@7.2.0)
is-potential-custom-element-name: 1.0.1
nwsapi: 2.2.16
parse5: 7.3.0
@@ -18214,7 +17812,7 @@ snapshots:
whatwg-encoding: 3.1.1
whatwg-mimetype: 4.0.0
whatwg-url: 14.2.0
- ws: 8.21.0
+ ws: 8.21.3
xml-name-validator: 5.0.0
transitivePeerDependencies:
- bufferutil
@@ -18233,6 +17831,10 @@ snapshots:
dependencies:
dequal: 2.0.3
+ json-schema-ref-resolver@3.0.0:
+ dependencies:
+ dequal: 2.0.3
+
json-schema-traverse@0.4.1: {}
json-schema-traverse@1.0.0: {}
@@ -18245,8 +17847,6 @@ snapshots:
json5@2.2.3: {}
- jsonc-parser@3.2.0: {}
-
jsonc-parser@3.3.1: {}
jsonfile@6.1.0:
@@ -18301,6 +17901,10 @@ snapshots:
dependencies:
commander: 8.3.0
+ katex@0.16.47:
+ dependencies:
+ commander: 8.3.0
+
keyv@4.5.4:
dependencies:
json-buffer: 3.0.1
@@ -18322,7 +17926,7 @@ snapshots:
chalk: 4.1.2
cosmiconfig: 9.0.0(typescript@5.9.3)
diff: 8.0.3
- dotenv: 17.2.4
+ dotenv: 17.4.1
dotenv-expand: 12.0.3
kysely: 0.28.17
micromatch: 4.0.8
@@ -18355,14 +17959,14 @@ snapshots:
vscode-languageserver-textdocument: 1.0.12
vscode-uri: 3.0.8
- langsmith@0.7.0(@opentelemetry/api@1.9.0)(@opentelemetry/sdk-trace-base@2.2.0(@opentelemetry/api@1.9.0))(openai@6.2.0(ws@8.21.0)(zod@4.3.6))(ws@8.21.0):
+ langsmith@0.8.9(@opentelemetry/api@1.9.0)(@opentelemetry/sdk-trace-base@2.2.0(@opentelemetry/api@1.9.0))(openai@6.2.0(ws@8.21.3)(zod@4.3.6))(ws@8.21.3):
dependencies:
p-queue: 6.6.2
optionalDependencies:
'@opentelemetry/api': 1.9.0
'@opentelemetry/sdk-trace-base': 2.2.0(@opentelemetry/api@1.9.0)
- openai: 6.2.0(ws@8.21.0)(zod@4.3.6)
- ws: 8.21.0
+ openai: 6.2.0(ws@8.21.3)(zod@4.3.6)
+ ws: 8.21.3
layout-base@1.0.2: {}
@@ -18374,21 +17978,6 @@ snapshots:
leac@0.6.0: {}
- less@4.2.0:
- dependencies:
- copy-anything: 2.0.6
- parse-node-version: 1.0.1
- tslib: 2.8.1
- optionalDependencies:
- errno: 0.1.8
- graceful-fs: 4.2.11
- image-size: 0.5.5
- make-dir: 2.1.0
- mime: 1.6.0
- needle: 3.5.0
- source-map: 0.6.1
- optional: true
-
leven@3.1.0: {}
levn@0.4.1:
@@ -18553,18 +18142,12 @@ snapshots:
magic-string@0.30.17:
dependencies:
- '@jridgewell/sourcemap-codec': 1.5.0
+ '@jridgewell/sourcemap-codec': 1.5.5
magic-string@0.30.21:
dependencies:
'@jridgewell/sourcemap-codec': 1.5.5
- make-dir@2.1.0:
- dependencies:
- pify: 4.0.1
- semver: 5.7.2
- optional: true
-
make-dir@4.0.0:
dependencies:
semver: 7.7.4
@@ -18613,23 +18196,23 @@ snapshots:
merge-stream@2.0.0: {}
- mermaid@11.15.0:
+ mermaid@11.16.1:
dependencies:
'@braintree/sanitize-url': 7.1.2
'@iconify/utils': 3.1.0
- '@mermaid-js/parser': 1.1.1
+ '@mermaid-js/parser': 1.2.0
'@types/d3': 7.4.3
'@upsetjs/venn.js': 2.0.0
- cytoscape: 3.33.1
- cytoscape-cose-bilkent: 4.1.0(cytoscape@3.33.1)
- cytoscape-fcose: 2.2.0(cytoscape@3.33.1)
+ cytoscape: 3.34.0
+ cytoscape-cose-bilkent: 4.1.0(cytoscape@3.34.0)
+ cytoscape-fcose: 2.2.0(cytoscape@3.34.0)
d3: 7.9.0
d3-sankey: 0.12.3
dagre-d3-es: 7.0.14
- dayjs: 1.11.19
- dompurify: 3.4.11
+ dayjs: 1.11.21
+ dompurify: 3.4.13
es-toolkit: 1.46.1
- katex: 0.16.40
+ katex: 0.16.47
khroma: 2.1.0
marked: 16.4.2
roughjs: 4.6.6
@@ -18656,9 +18239,6 @@ snapshots:
dependencies:
mime-db: 1.54.0
- mime@1.6.0:
- optional: true
-
mime@2.6.0: {}
mime@3.0.0: {}
@@ -18671,17 +18251,13 @@ snapshots:
minimalistic-assert@1.0.1: {}
- minimatch@10.2.4:
+ minimatch@10.2.5:
dependencies:
- brace-expansion: 5.0.6
+ brace-expansion: 5.0.9
minimatch@3.1.5:
dependencies:
- brace-expansion: 1.1.15
-
- minimatch@5.1.8:
- dependencies:
- brace-expansion: 2.0.3
+ brace-expansion: 1.1.18
minimist@1.2.8: {}
@@ -18700,18 +18276,6 @@ snapshots:
ms@3.0.0-canary.1: {}
- msgpackr-extract@3.0.2:
- dependencies:
- node-gyp-build-optional-packages: 5.0.7
- optionalDependencies:
- '@msgpackr-extract/msgpackr-extract-darwin-arm64': 3.0.2
- '@msgpackr-extract/msgpackr-extract-darwin-x64': 3.0.2
- '@msgpackr-extract/msgpackr-extract-linux-arm': 3.0.2
- '@msgpackr-extract/msgpackr-extract-linux-arm64': 3.0.2
- '@msgpackr-extract/msgpackr-extract-linux-x64': 3.0.2
- '@msgpackr-extract/msgpackr-extract-win32-x64': 3.0.2
- optional: true
-
msgpackr-extract@3.0.4:
dependencies:
node-gyp-build-optional-packages: 5.2.2
@@ -18726,7 +18290,7 @@ snapshots:
msgpackr@1.11.9:
optionalDependencies:
- msgpackr-extract: 3.0.2
+ msgpackr-extract: 3.0.4
msgpackr@2.0.2:
optionalDependencies:
@@ -18741,45 +18305,37 @@ snapshots:
mute-stream@2.0.0: {}
- nanoid@3.3.8: {}
+ nanoid@3.3.18: {}
nanoid@5.1.16: {}
- nanoid@5.1.7: {}
-
napi-postinstall@0.3.4: {}
natural-compare@1.4.0: {}
- needle@3.5.0:
- dependencies:
- iconv-lite: 0.6.3
- sax: 1.6.0
- optional: true
-
negotiator@0.6.3: {}
negotiator@1.0.0: {}
neo-async@2.6.2: {}
- nestjs-cls@6.2.0(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.27)(reflect-metadata@0.2.2)(rxjs@7.8.2):
+ nestjs-cls@6.2.0(@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2))(@nestjs/core@11.2.1)(reflect-metadata@0.2.2)(rxjs@7.8.2):
dependencies:
- '@nestjs/common': 11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)
- '@nestjs/core': 11.1.27(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/websockets@11.1.27)(reflect-metadata@0.2.2)(rxjs@7.8.2)
+ '@nestjs/common': 11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2)
+ '@nestjs/core': 11.2.1(@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2))(@nestjs/websockets@11.2.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)
reflect-metadata: 0.2.2
rxjs: 7.8.2
- nestjs-kysely@3.1.2(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/core@11.1.27)(kysely@0.28.17)(reflect-metadata@0.2.2):
+ nestjs-kysely@3.1.2(@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2))(@nestjs/core@11.2.1)(kysely@0.28.17)(reflect-metadata@0.2.2):
dependencies:
- '@nestjs/common': 11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)
- '@nestjs/core': 11.1.27(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(@nestjs/websockets@11.1.27)(reflect-metadata@0.2.2)(rxjs@7.8.2)
+ '@nestjs/common': 11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2)
+ '@nestjs/core': 11.2.1(@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2))(@nestjs/websockets@11.2.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)
kysely: 0.28.17
reflect-metadata: 0.2.2
- nestjs-pino@4.6.1(@nestjs/common@11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2))(pino-http@11.0.0)(pino@10.1.0)(rxjs@7.8.2):
+ nestjs-pino@4.6.1(@nestjs/common@11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2))(pino-http@11.0.0)(pino@10.1.0)(rxjs@7.8.2):
dependencies:
- '@nestjs/common': 11.1.27(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)
+ '@nestjs/common': 11.2.1(class-transformer@0.5.1)(class-validator@0.15.1)(reflect-metadata@0.2.2)(rxjs@7.8.2)(supports-color@10.2.2)
pino: 10.1.0
pino-http: 11.0.0
rxjs: 7.8.2
@@ -18796,9 +18352,6 @@ snapshots:
dependencies:
whatwg-url: 5.0.0
- node-gyp-build-optional-packages@5.0.7:
- optional: true
-
node-gyp-build-optional-packages@5.2.2:
dependencies:
detect-libc: 2.1.2
@@ -18826,58 +18379,139 @@ snapshots:
nwsapi@2.2.16: {}
- nx@22.6.1:
+ nx@23.1.1:
dependencies:
- '@ltd/j-toml': 1.38.0
+ '@emnapi/core': 1.4.5
+ '@emnapi/runtime': 1.4.5
+ '@emnapi/wasi-threads': 1.0.4
+ '@jest/diff-sequences': 30.0.1
'@napi-rs/wasm-runtime': 0.2.4
+ '@tybys/wasm-util': 0.9.0
'@yarnpkg/lockfile': 1.1.0
- '@yarnpkg/parsers': 3.0.2
'@zkochan/js-yaml': 0.0.7
- axios: 1.18.1
+ agent-base: 6.0.2(supports-color@7.2.0)
+ ansi-colors: 4.1.3
+ ansi-regex: 5.0.1
+ ansi-styles: 4.3.0
+ argparse: 2.0.1
+ asynckit: 0.4.0
+ axios: 1.18.1(debug@4.4.3(supports-color@7.2.0))(supports-color@7.2.0)
+ balanced-match: 4.0.3
+ base64-js: 1.5.1
+ bl: 4.1.0
+ brace-expansion: 5.0.9
+ buffer: 5.7.1
+ bundle-name: 4.1.0
+ call-bind-apply-helpers: 1.0.2
+ chalk: 4.1.2
cli-cursor: 3.1.0
cli-spinners: 2.6.1
cliui: 8.0.1
+ clone: 1.0.4
+ color-convert: 2.0.1
+ color-name: 1.1.4
+ combined-stream: 1.0.8
+ debug: 4.4.3(supports-color@7.2.0)
+ default-browser: 5.2.1
+ default-browser-id: 5.0.0
+ defaults: 1.0.4
+ define-lazy-prop: 3.0.0
+ delayed-stream: 1.0.0
dotenv: 16.4.7
- dotenv-expand: 11.0.6
- ejs: 3.1.10
+ dotenv-expand: 12.0.3
+ dunder-proto: 1.0.1
+ ejs: 5.0.1
+ emoji-regex: 8.0.0
+ end-of-stream: 1.4.5
enquirer: 2.3.6
+ es-define-property: 1.0.1
+ es-errors: 1.3.0
+ es-object-atoms: 1.1.1
+ es-set-tostringtag: 2.1.0
+ escalade: 3.2.0
+ escape-string-regexp: 1.0.5
figures: 3.2.0
flat: 5.0.2
- front-matter: 4.0.2
+ follow-redirects: 1.16.0(debug@4.4.3(supports-color@7.2.0))
+ form-data: 4.0.6
+ fs-constants: 1.0.0
+ function-bind: 1.1.2
+ get-caller-file: 2.0.5
+ get-intrinsic: 1.3.0
+ get-proto: 1.0.1
+ gopd: 1.2.0
+ has-flag: 4.0.0
+ has-symbols: 1.1.0
+ has-tostringtag: 1.0.2
+ hasown: 2.0.4
+ https-proxy-agent: 5.0.1(supports-color@7.2.0)
+ ieee754: 1.2.1
ignore: 7.0.5
- jest-diff: 30.3.0
- jsonc-parser: 3.2.0
+ inherits: 2.0.4
+ is-docker: 3.0.0
+ is-fullwidth-code-point: 3.0.0
+ is-inside-container: 1.0.0
+ is-interactive: 1.0.0
+ is-unicode-supported: 0.1.0
+ is-wsl: 3.1.0
+ isexe: 2.0.0
+ json5: 2.2.3
+ jsonc-parser: 3.3.1
lines-and-columns: 2.0.3
- minimatch: 10.2.4
+ log-symbols: 4.1.0
+ math-intrinsics: 1.1.0
+ mime-db: 1.52.0
+ mime-types: 2.1.35
+ mimic-fn: 2.1.0
+ minimatch: 10.2.5
+ minimist: 1.2.8
+ ms: 2.1.3
npm-run-path: 4.0.1
- open: 8.4.2
- ora: 5.3.0
+ once: 1.4.0
+ onetime: 5.1.2
+ open: 10.1.0
+ ora: 5.4.1
+ path-key: 3.1.1
picocolors: 1.1.1
+ proxy-from-env: 2.1.0
+ readable-stream: 3.6.2
+ require-directory: 2.1.1
resolve.exports: 2.0.3
- semver: 7.7.4
+ restore-cursor: 3.1.0
+ run-applescript: 7.0.0
+ safe-buffer: 5.2.1
+ semver: 7.8.4
+ signal-exit: 3.0.7
+ smol-toml: 1.6.1
string-width: 4.2.3
+ string_decoder: 1.3.0
+ strip-ansi: 6.0.1
+ strip-bom: 3.0.0
+ supports-color: 7.2.0
tar-stream: 2.2.0
tmp: 0.2.7
- tree-kill: 1.2.2
tsconfig-paths: 4.2.0
tslib: 2.8.1
- yaml: 2.8.3
+ util-deprecate: 1.0.2
+ wcwidth: 1.0.1
+ which: 3.0.1
+ wrap-ansi: 7.0.0
+ wrappy: 1.0.2
+ y18n: 5.0.8
+ yaml: 2.9.0
yargs: 17.7.2
yargs-parser: 21.1.1
optionalDependencies:
- '@nx/nx-darwin-arm64': 22.6.1
- '@nx/nx-darwin-x64': 22.6.1
- '@nx/nx-freebsd-x64': 22.6.1
- '@nx/nx-linux-arm-gnueabihf': 22.6.1
- '@nx/nx-linux-arm64-gnu': 22.6.1
- '@nx/nx-linux-arm64-musl': 22.6.1
- '@nx/nx-linux-x64-gnu': 22.6.1
- '@nx/nx-linux-x64-musl': 22.6.1
- '@nx/nx-win32-arm64-msvc': 22.6.1
- '@nx/nx-win32-x64-msvc': 22.6.1
- transitivePeerDependencies:
- - debug
- - supports-color
+ '@nx/nx-darwin-arm64': 23.1.1
+ '@nx/nx-darwin-x64': 23.1.1
+ '@nx/nx-freebsd-x64': 23.1.1
+ '@nx/nx-linux-arm-gnueabihf': 23.1.1
+ '@nx/nx-linux-arm64-gnu': 23.1.1
+ '@nx/nx-linux-arm64-musl': 23.1.1
+ '@nx/nx-linux-x64-gnu': 23.1.1
+ '@nx/nx-linux-x64-musl': 23.1.1
+ '@nx/nx-win32-arm64-msvc': 23.1.1
+ '@nx/nx-win32-x64-msvc': 23.1.1
nypm@0.6.6:
dependencies:
@@ -18893,8 +18527,6 @@ snapshots:
object-hash@3.0.0: {}
- object-inspect@1.13.3: {}
-
object-inspect@1.13.4: {}
object-keys@1.1.1: {}
@@ -18949,15 +18581,16 @@ snapshots:
dependencies:
mimic-fn: 2.1.0
- open@8.4.2:
+ open@10.1.0:
dependencies:
- define-lazy-prop: 2.0.0
- is-docker: 2.2.1
- is-wsl: 2.2.0
+ default-browser: 5.2.1
+ define-lazy-prop: 3.0.0
+ is-inside-container: 1.0.0
+ is-wsl: 3.1.0
- openai@6.2.0(ws@8.21.0)(zod@4.3.6):
+ openai@6.2.0(ws@8.21.3)(zod@4.3.6):
optionalDependencies:
- ws: 8.21.0
+ ws: 8.21.3
zod: 4.3.6
optional: true
@@ -18979,17 +18612,6 @@ snapshots:
prelude-ls: 1.2.1
type-check: 0.4.0
- ora@5.3.0:
- dependencies:
- bl: 4.1.0
- chalk: 4.1.2
- cli-cursor: 3.1.0
- cli-spinners: 2.9.2
- is-interactive: 1.0.0
- log-symbols: 4.1.0
- strip-ansi: 6.0.1
- wcwidth: 1.0.1
-
ora@5.4.1:
dependencies:
bl: 4.1.0
@@ -19053,6 +18675,8 @@ snapshots:
pako@2.0.3: {}
+ pako@2.2.0: {}
+
parent-module@1.0.1:
dependencies:
callsites: 3.1.0
@@ -19064,9 +18688,6 @@ snapshots:
json-parse-even-better-errors: 2.3.1
lines-and-columns: 1.2.4
- parse-node-version@1.0.1:
- optional: true
-
parse5-htmlparser2-tree-adapter@7.1.0:
dependencies:
domhandler: 5.0.3
@@ -19129,7 +18750,7 @@ snapshots:
lru-cache: 11.2.7
minipass: 7.1.3
- path-to-regexp@8.4.0: {}
+ path-to-regexp@8.4.2: {}
path-type@4.0.0: {}
@@ -19205,9 +18826,6 @@ snapshots:
picospinner@3.0.0: {}
- pify@4.0.1:
- optional: true
-
pino-abstract-transport@2.0.0:
dependencies:
split2: 4.2.0
@@ -19297,48 +18915,42 @@ snapshots:
possible-typed-array-names@1.0.0: {}
- postcss-js@4.0.1(postcss@8.5.14):
+ postcss-js@4.0.1(postcss@8.5.25):
dependencies:
camelcase-css: 2.0.1
- postcss: 8.5.14
+ postcss: 8.5.25
- postcss-mixins@12.1.2(postcss@8.5.14):
+ postcss-mixins@12.1.2(postcss@8.5.25):
dependencies:
- postcss: 8.5.14
- postcss-js: 4.0.1(postcss@8.5.14)
- postcss-simple-vars: 7.0.1(postcss@8.5.14)
- sugarss: 5.0.1(postcss@8.5.14)
- tinyglobby: 0.2.15
+ postcss: 8.5.25
+ postcss-js: 4.0.1(postcss@8.5.25)
+ postcss-simple-vars: 7.0.1(postcss@8.5.25)
+ sugarss: 5.0.1(postcss@8.5.25)
+ tinyglobby: 0.2.17
- postcss-nested@7.0.2(postcss@8.5.14):
+ postcss-nested@7.0.2(postcss@8.5.25):
dependencies:
- postcss: 8.5.14
+ postcss: 8.5.25
postcss-selector-parser: 7.1.1
- postcss-preset-mantine@1.18.0(postcss@8.5.14):
+ postcss-preset-mantine@1.18.0(postcss@8.5.25):
dependencies:
- postcss: 8.5.14
- postcss-mixins: 12.1.2(postcss@8.5.14)
- postcss-nested: 7.0.2(postcss@8.5.14)
+ postcss: 8.5.25
+ postcss-mixins: 12.1.2(postcss@8.5.25)
+ postcss-nested: 7.0.2(postcss@8.5.25)
postcss-selector-parser@7.1.1:
dependencies:
cssesc: 3.0.0
util-deprecate: 1.0.2
- postcss-simple-vars@7.0.1(postcss@8.5.14):
+ postcss-simple-vars@7.0.1(postcss@8.5.25):
dependencies:
- postcss: 8.5.14
+ postcss: 8.5.25
- postcss@8.5.14:
+ postcss@8.5.25:
dependencies:
- nanoid: 3.3.8
- picocolors: 1.1.1
- source-map-js: 1.2.1
-
- postcss@8.5.15:
- dependencies:
- nanoid: 3.3.8
+ nanoid: 3.3.18
picocolors: 1.1.1
source-map-js: 1.2.1
@@ -19363,15 +18975,15 @@ snapshots:
'@posthog/core': 1.35.3
'@posthog/types': 1.390.2
core-js: 3.43.0
- dompurify: 3.4.11
+ dompurify: 3.4.13
fflate: 0.4.8
preact: 10.29.2
query-selector-shadow-dom: 1.0.1
web-vitals: 5.3.0
- postmark@4.0.7:
+ postmark@4.0.7(debug@4.4.3(supports-color@7.2.0))(supports-color@10.2.2):
dependencies:
- axios: 1.18.1
+ axios: 1.18.1(debug@4.4.3(supports-color@7.2.0))(supports-color@10.2.2)
transitivePeerDependencies:
- debug
- supports-color
@@ -19388,12 +19000,6 @@ snapshots:
ansi-styles: 5.2.0
react-is: 17.0.2
- pretty-format@30.2.0:
- dependencies:
- '@jest/schemas': 30.0.5
- ansi-styles: 5.2.0
- react-is: 18.3.1
-
pretty-format@30.3.0:
dependencies:
'@jest/schemas': 30.0.5
@@ -19425,7 +19031,7 @@ snapshots:
prosemirror-commands@1.7.1:
dependencies:
- prosemirror-model: 1.25.9
+ prosemirror-model: 1.25.11
prosemirror-state: 1.4.4
prosemirror-transform: 1.12.0
@@ -19438,7 +19044,7 @@ snapshots:
prosemirror-gapcursor@1.4.1:
dependencies:
prosemirror-keymap: 1.2.3
- prosemirror-model: 1.25.9
+ prosemirror-model: 1.25.11
prosemirror-state: 1.4.4
prosemirror-view: 1.41.9
@@ -19459,37 +19065,37 @@ snapshots:
prosemirror-state: 1.4.4
w3c-keyname: 2.2.8
- prosemirror-model@1.25.9:
+ prosemirror-model@1.25.11:
dependencies:
orderedmap: 2.1.1
prosemirror-schema-list@1.5.1:
dependencies:
- prosemirror-model: 1.25.9
+ prosemirror-model: 1.25.11
prosemirror-state: 1.4.4
prosemirror-transform: 1.12.0
prosemirror-state@1.4.4:
dependencies:
- prosemirror-model: 1.25.9
+ prosemirror-model: 1.25.11
prosemirror-transform: 1.12.0
prosemirror-view: 1.41.9
prosemirror-tables@1.8.5:
dependencies:
prosemirror-keymap: 1.2.3
- prosemirror-model: 1.25.9
+ prosemirror-model: 1.25.11
prosemirror-state: 1.4.4
prosemirror-transform: 1.12.0
prosemirror-view: 1.41.9
prosemirror-transform@1.12.0:
dependencies:
- prosemirror-model: 1.25.9
+ prosemirror-model: 1.25.11
prosemirror-view@1.41.9:
dependencies:
- prosemirror-model: 1.25.9
+ prosemirror-model: 1.25.11
prosemirror-state: 1.4.4
prosemirror-transform: 1.12.0
@@ -19500,16 +19106,13 @@ snapshots:
proxy-from-env@2.1.0: {}
- prr@1.0.1:
- optional: true
-
psl@1.15.0:
dependencies:
punycode: 2.3.1
pump@3.0.3:
dependencies:
- end-of-stream: 1.4.4
+ end-of-stream: 1.4.5
once: 1.4.0
punycode@2.3.1: {}
@@ -19625,10 +19228,10 @@ snapshots:
dependencies:
react: 19.2.7
- react-email@6.6.3(react-dom@19.2.7(react@19.2.7))(react@19.2.7):
+ react-email@6.6.3(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(supports-color@10.2.2):
dependencies:
'@babel/parser': 7.27.0
- '@babel/traverse': 7.27.0
+ '@babel/traverse': 7.27.0(supports-color@10.2.2)
'@react-email/render': 2.0.9(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
chokidar: 4.0.3
commander: 13.1.0
@@ -19648,7 +19251,7 @@ snapshots:
prompts: 2.4.2
react: 19.2.7
react-dom: 19.2.7(react@19.2.7)
- socket.io: 4.8.3
+ socket.io: 4.8.3(supports-color@10.2.2)
tailwindcss: 4.1.18
tsconfig-paths: 4.2.0
transitivePeerDependencies:
@@ -19710,13 +19313,13 @@ snapshots:
optionalDependencies:
'@types/react': 19.2.17
- react-router-dom@7.18.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7):
+ react-router-dom@7.18.2(react-dom@19.2.7(react@19.2.7))(react@19.2.7):
dependencies:
react: 19.2.7
react-dom: 19.2.7(react@19.2.7)
- react-router: 7.18.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
+ react-router: 7.18.2(react-dom@19.2.7(react@19.2.7))(react@19.2.7)
- react-router@7.18.0(react-dom@19.2.7(react@19.2.7))(react@19.2.7):
+ react-router@7.18.2(react-dom@19.2.7(react@19.2.7))(react@19.2.7):
dependencies:
cookie: 1.1.1
react: 19.2.7
@@ -19907,13 +19510,13 @@ snapshots:
points-on-curve: 0.2.0
points-on-path: 0.2.1
- router@2.2.0:
+ router@2.2.0(supports-color@10.2.2):
dependencies:
- debug: 4.4.3
+ debug: 4.4.3(supports-color@10.2.2)
depd: 2.0.0
is-promise: 4.0.0
parseurl: 1.3.3
- path-to-regexp: 8.4.0
+ path-to-regexp: 8.4.2
transitivePeerDependencies:
- supports-color
@@ -19921,6 +19524,8 @@ snapshots:
rrweb-cssom@0.8.0: {}
+ run-applescript@7.0.0: {}
+
rw@1.3.3: {}
rxjs@7.8.1:
@@ -19969,7 +19574,7 @@ snapshots:
sass@1.51.0:
dependencies:
chokidar: 3.6.0
- immutable: 4.3.8
+ immutable: 4.3.9
source-map-js: 1.2.1
sax@1.6.0: {}
@@ -20001,18 +19606,17 @@ snapshots:
dependencies:
parseley: 0.12.1
- semver@5.7.2:
- optional: true
-
semver@6.3.1: {}
semver@7.7.4: {}
semver@7.8.1: {}
- send@1.2.1:
+ semver@7.8.4: {}
+
+ send@1.2.1(supports-color@10.2.2):
dependencies:
- debug: 4.4.3
+ debug: 4.4.3(supports-color@10.2.2)
encodeurl: 2.0.0
escape-html: 1.0.3
etag: 1.8.1
@@ -20026,12 +19630,12 @@ snapshots:
transitivePeerDependencies:
- supports-color
- serve-static@2.2.1:
+ serve-static@2.2.1(supports-color@10.2.2):
dependencies:
encodeurl: 2.0.0
escape-html: 1.0.3
parseurl: 1.3.3
- send: 1.2.1
+ send: 1.2.1(supports-color@10.2.2)
transitivePeerDependencies:
- supports-color
@@ -20073,12 +19677,7 @@ snapshots:
shebang-regex@3.0.0: {}
- shell-quote@1.8.4: {}
-
- side-channel-list@1.0.0:
- dependencies:
- es-errors: 1.3.0
- object-inspect: 1.13.3
+ shell-quote@1.9.0: {}
side-channel-list@1.0.1:
dependencies:
@@ -20090,24 +19689,16 @@ snapshots:
call-bound: 1.0.4
es-errors: 1.3.0
get-intrinsic: 1.3.0
- object-inspect: 1.13.3
+ object-inspect: 1.13.4
side-channel-weakmap@1.0.2:
dependencies:
call-bound: 1.0.4
es-errors: 1.3.0
get-intrinsic: 1.3.0
- object-inspect: 1.13.3
+ object-inspect: 1.13.4
side-channel-map: 1.0.1
- side-channel@1.1.0:
- dependencies:
- es-errors: 1.3.0
- object-inspect: 1.13.3
- side-channel-list: 1.0.0
- side-channel-map: 1.0.1
- side-channel-weakmap: 1.0.2
-
side-channel@1.1.1:
dependencies:
es-errors: 1.3.0
@@ -20128,42 +19719,44 @@ snapshots:
sliced@1.0.1: {}
- socket.io-adapter@2.5.4:
+ smol-toml@1.6.1: {}
+
+ socket.io-adapter@2.5.4(supports-color@10.2.2):
dependencies:
- debug: 4.3.7
- ws: 8.21.0
+ debug: 4.3.7(supports-color@10.2.2)
+ ws: 8.21.3
transitivePeerDependencies:
- bufferutil
- supports-color
- utf-8-validate
- socket.io-client@4.8.3:
+ socket.io-client@4.8.3(supports-color@10.2.2):
dependencies:
'@socket.io/component-emitter': 3.1.0
- debug: 4.4.3
- engine.io-client: 6.6.2
- socket.io-parser: 4.2.6
+ debug: 4.4.3(supports-color@10.2.2)
+ engine.io-client: 6.6.2(supports-color@10.2.2)
+ socket.io-parser: 4.2.7(supports-color@10.2.2)
transitivePeerDependencies:
- bufferutil
- supports-color
- utf-8-validate
- socket.io-parser@4.2.6:
+ socket.io-parser@4.2.7(supports-color@10.2.2):
dependencies:
'@socket.io/component-emitter': 3.1.0
- debug: 4.4.3
+ debug: 4.4.3(supports-color@10.2.2)
transitivePeerDependencies:
- supports-color
- socket.io@4.8.3:
+ socket.io@4.8.3(supports-color@10.2.2):
dependencies:
accepts: 1.3.8
base64id: 2.0.0
cors: 2.8.5
- debug: 4.4.3
- engine.io: 6.6.2
- socket.io-adapter: 2.5.4
- socket.io-parser: 4.2.6
+ debug: 4.4.3(supports-color@10.2.2)
+ engine.io: 6.6.9(supports-color@10.2.2)
+ socket.io-adapter: 2.5.4(supports-color@10.2.2)
+ socket.io-parser: 4.2.7(supports-color@10.2.2)
transitivePeerDependencies:
- bufferutil
- supports-color
@@ -20233,6 +19826,12 @@ snapshots:
is-fullwidth-code-point: 3.0.0
strip-ansi: 6.0.1
+ string-width@7.2.0:
+ dependencies:
+ emoji-regex: 10.6.0
+ get-east-asian-width: 1.6.0
+ strip-ansi: 7.2.0
+
string.prototype.matchall@4.0.12:
dependencies:
call-bind: 1.0.8
@@ -20247,7 +19846,7 @@ snapshots:
internal-slot: 1.1.0
regexp.prototype.flags: 1.5.4
set-function-name: 2.0.2
- side-channel: 1.1.0
+ side-channel: 1.1.1
string.prototype.repeat@1.0.0:
dependencies:
@@ -20289,6 +19888,10 @@ snapshots:
dependencies:
ansi-regex: 5.0.1
+ strip-ansi@7.2.0:
+ dependencies:
+ ansi-regex: 6.2.2
+
strip-bom@3.0.0: {}
strip-bom@4.0.0: {}
@@ -20322,15 +19925,15 @@ snapshots:
stylis@4.3.6: {}
- sugarss@5.0.1(postcss@8.5.14):
+ sugarss@5.0.1(postcss@8.5.25):
dependencies:
- postcss: 8.5.14
+ postcss: 8.5.25
- superagent@10.3.0:
+ superagent@10.3.0(supports-color@10.2.2):
dependencies:
component-emitter: 1.3.1
cookiejar: 2.1.4
- debug: 4.4.3
+ debug: 4.4.3(supports-color@10.2.2)
fast-safe-stringify: 2.1.1
form-data: 4.0.6
formidable: 3.5.4
@@ -20340,14 +19943,16 @@ snapshots:
transitivePeerDependencies:
- supports-color
- supertest@7.2.2:
+ supertest@7.2.2(supports-color@10.2.2):
dependencies:
cookie-signature: 1.2.2
methods: 1.1.2
- superagent: 10.3.0
+ superagent: 10.3.0(supports-color@10.2.2)
transitivePeerDependencies:
- supports-color
+ supports-color@10.2.2: {}
+
supports-color@7.2.0:
dependencies:
has-flag: 4.0.0
@@ -20377,20 +19982,22 @@ snapshots:
tar-stream@2.2.0:
dependencies:
bl: 4.1.0
- end-of-stream: 1.4.4
+ end-of-stream: 1.4.5
fs-constants: 1.0.0
inherits: 2.0.4
readable-stream: 3.6.2
- terser-webpack-plugin@5.4.0(@swc/core@1.5.25(@swc/helpers@0.5.5))(webpack@5.106.0(@swc/core@1.5.25(@swc/helpers@0.5.5))):
+ terser-webpack-plugin@5.4.0(@swc/core@1.5.25(@swc/helpers@0.5.5))(esbuild@0.28.1)(uglify-js@3.19.3)(webpack@5.106.0(@swc/core@1.5.25(@swc/helpers@0.5.5))(esbuild@0.28.1)(uglify-js@3.19.3)):
dependencies:
'@jridgewell/trace-mapping': 0.3.31
jest-worker: 27.5.1
schema-utils: 4.3.3
terser: 5.39.0
- webpack: 5.106.0(@swc/core@1.5.25(@swc/helpers@0.5.5))
+ webpack: 5.106.0(@swc/core@1.5.25(@swc/helpers@0.5.5))(esbuild@0.28.1)(uglify-js@3.19.3)
optionalDependencies:
'@swc/core': 1.5.25(@swc/helpers@0.5.5)
+ esbuild: 0.28.1
+ uglify-js: 3.19.3
terser@5.39.0:
dependencies:
@@ -20417,11 +20024,6 @@ snapshots:
tinyexec@1.1.2: {}
- tinyglobby@0.2.15:
- dependencies:
- fdir: 6.5.0(picomatch@4.0.4)
- picomatch: 4.0.4
-
tinyglobby@0.2.17:
dependencies:
fdir: 6.5.0(picomatch@4.0.4)
@@ -20488,12 +20090,12 @@ snapshots:
ts-dedent@2.2.0: {}
- ts-jest@29.4.6(@babel/core@7.29.7)(@jest/transform@30.3.0)(@jest/types@30.3.0)(babel-jest@30.3.0(@babel/core@7.29.7))(jest-util@30.3.0)(jest@30.3.0(@types/node@25.5.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.5))(@types/node@25.5.0)(typescript@5.9.3)))(typescript@5.9.3):
+ ts-jest@29.4.6(@babel/core@7.29.7(supports-color@10.2.2))(@jest/transform@30.3.0(supports-color@10.2.2))(@jest/types@30.3.0)(babel-jest@30.3.0(@babel/core@7.29.7(supports-color@10.2.2))(supports-color@10.2.2))(esbuild@0.28.1)(jest-util@30.3.0)(jest@30.3.0(@types/node@25.5.0)(babel-plugin-macros@3.1.0)(supports-color@10.2.2)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.5))(@types/node@25.5.0)(typescript@5.9.3)))(typescript@5.9.3):
dependencies:
bs-logger: 0.2.6
fast-json-stable-stringify: 2.1.0
handlebars: 4.7.9
- jest: 30.3.0(@types/node@25.5.0)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.5))(@types/node@25.5.0)(typescript@5.9.3))
+ jest: 30.3.0(@types/node@25.5.0)(babel-plugin-macros@3.1.0)(supports-color@10.2.2)(ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.5))(@types/node@25.5.0)(typescript@5.9.3))
json5: 2.2.3
lodash.memoize: 4.1.2
make-error: 1.3.6
@@ -20502,13 +20104,14 @@ snapshots:
typescript: 5.9.3
yargs-parser: 21.1.1
optionalDependencies:
- '@babel/core': 7.29.7
- '@jest/transform': 30.3.0
+ '@babel/core': 7.29.7(supports-color@10.2.2)
+ '@jest/transform': 30.3.0(supports-color@10.2.2)
'@jest/types': 30.3.0
- babel-jest: 30.3.0(@babel/core@7.29.7)
+ babel-jest: 30.3.0(@babel/core@7.29.7(supports-color@10.2.2))(supports-color@10.2.2)
+ esbuild: 0.28.1
jest-util: 30.3.0
- ts-loader@9.5.7(typescript@5.9.3)(webpack@5.106.0(@swc/core@1.5.25(@swc/helpers@0.5.5))):
+ ts-loader@9.5.7(typescript@5.9.3)(webpack@5.106.0(@swc/core@1.5.25(@swc/helpers@0.5.5))(esbuild@0.28.1)(uglify-js@3.19.3)):
dependencies:
chalk: 4.1.2
enhanced-resolve: 5.20.1
@@ -20516,7 +20119,7 @@ snapshots:
semver: 7.7.4
source-map: 0.7.4
typescript: 5.9.3
- webpack: 5.106.0(@swc/core@1.5.25(@swc/helpers@0.5.5))
+ webpack: 5.106.0(@swc/core@1.5.25(@swc/helpers@0.5.5))(esbuild@0.28.1)(uglify-js@3.19.3)
ts-node@10.9.2(@swc/core@1.5.25(@swc/helpers@0.5.5))(@types/node@25.5.0)(typescript@5.9.3):
dependencies:
@@ -20526,7 +20129,7 @@ snapshots:
'@tsconfig/node14': 1.0.3
'@tsconfig/node16': 1.0.4
'@types/node': 25.5.0
- acorn: 8.15.0
+ acorn: 8.16.0
acorn-walk: 8.3.2
arg: 4.1.3
create-require: 1.1.1
@@ -20590,6 +20193,12 @@ snapshots:
media-typer: 1.1.0
mime-types: 3.0.2
+ type-is@2.1.0:
+ dependencies:
+ content-type: 2.0.0
+ media-typer: 1.1.0
+ mime-types: 3.0.2
+
typed-array-buffer@1.0.3:
dependencies:
call-bound: 1.0.4
@@ -20623,34 +20232,23 @@ snapshots:
possible-typed-array-names: 1.0.0
reflect.getprototypeof: 1.0.10
- typescript-eslint@8.57.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.9.3):
+ typescript-eslint@8.57.1(eslint@9.28.0(jiti@2.4.2)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@5.9.3):
dependencies:
- '@typescript-eslint/eslint-plugin': 8.57.1(@typescript-eslint/parser@8.57.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.9.3))(eslint@9.28.0(jiti@2.4.2))(typescript@5.9.3)
- '@typescript-eslint/parser': 8.57.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.9.3)
- '@typescript-eslint/typescript-estree': 8.57.1(typescript@5.9.3)
- '@typescript-eslint/utils': 8.57.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.9.3)
- eslint: 9.28.0(jiti@2.4.2)
- typescript: 5.9.3
- transitivePeerDependencies:
- - supports-color
-
- typescript-eslint@8.57.1(eslint@9.39.4(jiti@2.4.2))(typescript@5.9.3):
- dependencies:
- '@typescript-eslint/eslint-plugin': 8.57.1(@typescript-eslint/parser@8.57.1(eslint@9.39.4(jiti@2.4.2))(typescript@5.9.3))(eslint@9.39.4(jiti@2.4.2))(typescript@5.9.3)
- '@typescript-eslint/parser': 8.57.1(eslint@9.39.4(jiti@2.4.2))(typescript@5.9.3)
- '@typescript-eslint/typescript-estree': 8.57.1(typescript@5.9.3)
- '@typescript-eslint/utils': 8.57.1(eslint@9.39.4(jiti@2.4.2))(typescript@5.9.3)
- eslint: 9.39.4(jiti@2.4.2)
+ '@typescript-eslint/eslint-plugin': 8.57.1(@typescript-eslint/parser@8.57.1(eslint@9.28.0(jiti@2.4.2)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@5.9.3))(eslint@9.28.0(jiti@2.4.2)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@5.9.3)
+ '@typescript-eslint/parser': 8.57.1(eslint@9.28.0(jiti@2.4.2)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@5.9.3)
+ '@typescript-eslint/typescript-estree': 8.57.1(supports-color@10.2.2)(typescript@5.9.3)
+ '@typescript-eslint/utils': 8.57.1(eslint@9.28.0(jiti@2.4.2)(supports-color@10.2.2))(supports-color@10.2.2)(typescript@5.9.3)
+ eslint: 9.28.0(jiti@2.4.2)(supports-color@10.2.2)
typescript: 5.9.3
transitivePeerDependencies:
- supports-color
typescript@5.9.3: {}
- typesense@3.0.5(@babel/runtime@7.29.2):
+ typesense@3.0.5(@babel/runtime@7.29.2)(debug@4.4.3(supports-color@7.2.0))(supports-color@10.2.2):
dependencies:
'@babel/runtime': 7.29.2
- axios: 1.18.1
+ axios: 1.18.1(debug@4.4.3(supports-color@7.2.0))(supports-color@10.2.2)
loglevel: 1.9.2
tslib: 2.8.1
transitivePeerDependencies:
@@ -20685,7 +20283,7 @@ snapshots:
undici-types@7.18.2: {}
- undici@7.28.0: {}
+ undici@7.29.0: {}
unicode-canonical-property-names-ecmascript@2.0.0: {}
@@ -20782,11 +20380,11 @@ snapshots:
vary@1.1.2: {}
- vite@8.0.16(@types/node@22.19.1)(esbuild@0.28.1)(jiti@2.4.2)(less@4.2.0)(sugarss@5.0.1(postcss@8.5.14))(terser@5.39.0)(tsx@4.21.0)(yaml@2.8.3):
+ vite@8.0.16(@types/node@22.19.1)(esbuild@0.28.1)(jiti@2.4.2)(sugarss@5.0.1(postcss@8.5.25))(terser@5.39.0)(tsx@4.21.0)(yaml@2.8.3):
dependencies:
lightningcss: 1.32.0
picomatch: 4.0.4
- postcss: 8.5.15
+ postcss: 8.5.25
rolldown: 1.0.3
tinyglobby: 0.2.17
optionalDependencies:
@@ -20794,16 +20392,15 @@ snapshots:
esbuild: 0.28.1
fsevents: 2.3.3
jiti: 2.4.2
- less: 4.2.0
- sugarss: 5.0.1(postcss@8.5.14)
+ sugarss: 5.0.1(postcss@8.5.25)
terser: 5.39.0
tsx: 4.21.0
yaml: 2.8.3
- vitest@4.1.6(@opentelemetry/api@1.9.0)(@types/node@22.19.1)(happy-dom@20.8.9)(jsdom@25.0.0)(vite@8.0.16(@types/node@22.19.1)(esbuild@0.28.1)(jiti@2.4.2)(less@4.2.0)(sugarss@5.0.1(postcss@8.5.14))(terser@5.39.0)(tsx@4.21.0)(yaml@2.8.3)):
+ vitest@4.1.6(@opentelemetry/api@1.9.0)(@types/node@22.19.1)(happy-dom@20.8.9)(jsdom@25.0.0(supports-color@10.2.2))(vite@8.0.16(@types/node@22.19.1)(esbuild@0.28.1)(jiti@2.4.2)(sugarss@5.0.1(postcss@8.5.25))(terser@5.39.0)(tsx@4.21.0)(yaml@2.8.3)):
dependencies:
'@vitest/expect': 4.1.6
- '@vitest/mocker': 4.1.6(vite@8.0.16(@types/node@22.19.1)(esbuild@0.28.1)(jiti@2.4.2)(less@4.2.0)(sugarss@5.0.1(postcss@8.5.14))(terser@5.39.0)(tsx@4.21.0)(yaml@2.8.3))
+ '@vitest/mocker': 4.1.6(vite@8.0.16(@types/node@22.19.1)(esbuild@0.28.1)(jiti@2.4.2)(sugarss@5.0.1(postcss@8.5.25))(terser@5.39.0)(tsx@4.21.0)(yaml@2.8.3))
'@vitest/pretty-format': 4.1.6
'@vitest/runner': 4.1.6
'@vitest/snapshot': 4.1.6
@@ -20818,15 +20415,15 @@ snapshots:
std-env: 4.1.0
tinybench: 2.9.0
tinyexec: 1.1.2
- tinyglobby: 0.2.15
+ tinyglobby: 0.2.17
tinyrainbow: 3.1.0
- vite: 8.0.16(@types/node@22.19.1)(esbuild@0.28.1)(jiti@2.4.2)(less@4.2.0)(sugarss@5.0.1(postcss@8.5.14))(terser@5.39.0)(tsx@4.21.0)(yaml@2.8.3)
+ vite: 8.0.16(@types/node@22.19.1)(esbuild@0.28.1)(jiti@2.4.2)(sugarss@5.0.1(postcss@8.5.25))(terser@5.39.0)(tsx@4.21.0)(yaml@2.8.3)
why-is-node-running: 2.3.0
optionalDependencies:
'@opentelemetry/api': 1.9.0
'@types/node': 22.19.1
happy-dom: 20.8.9
- jsdom: 25.0.0
+ jsdom: 25.0.0(supports-color@10.2.2)
transitivePeerDependencies:
- msw
@@ -20878,7 +20475,7 @@ snapshots:
webpack-sources@3.3.4: {}
- webpack@5.106.0(@swc/core@1.5.25(@swc/helpers@0.5.5)):
+ webpack@5.106.0(@swc/core@1.5.25(@swc/helpers@0.5.5))(esbuild@0.28.1)(uglify-js@3.19.3):
dependencies:
'@types/eslint-scope': 3.7.7
'@types/estree': 1.0.9
@@ -20902,7 +20499,7 @@ snapshots:
neo-async: 2.6.2
schema-utils: 4.3.3
tapable: 2.3.0
- terser-webpack-plugin: 5.4.0(@swc/core@1.5.25(@swc/helpers@0.5.5))(webpack@5.106.0(@swc/core@1.5.25(@swc/helpers@0.5.5)))
+ terser-webpack-plugin: 5.4.0(@swc/core@1.5.25(@swc/helpers@0.5.5))(esbuild@0.28.1)(uglify-js@3.19.3)(webpack@5.106.0(@swc/core@1.5.25(@swc/helpers@0.5.5))(esbuild@0.28.1)(uglify-js@3.19.3))
watchpack: 2.5.1
webpack-sources: 3.3.4
transitivePeerDependencies:
@@ -20981,6 +20578,10 @@ snapshots:
dependencies:
isexe: 2.0.0
+ which@3.0.1:
+ dependencies:
+ isexe: 2.0.0
+
why-is-node-running@2.3.0:
dependencies:
siginfo: 2.0.0
@@ -21004,6 +20605,12 @@ snapshots:
string-width: 4.2.3
strip-ansi: 6.0.1
+ wrap-ansi@9.0.2:
+ dependencies:
+ ansi-styles: 6.2.3
+ string-width: 7.2.0
+ strip-ansi: 7.2.0
+
wrappy@1.0.2: {}
write-file-atomic@5.0.1:
@@ -21011,7 +20618,7 @@ snapshots:
imurmurhash: 0.1.4
signal-exit: 4.1.0
- ws@8.21.0: {}
+ ws@8.21.3: {}
xml-crypto@6.1.2:
dependencies:
@@ -21064,10 +20671,10 @@ snapshots:
lib0: 0.2.117
yjs: 13.6.30
- y-prosemirror@1.3.7(prosemirror-model@1.25.9)(prosemirror-state@1.4.4)(prosemirror-view@1.41.9)(y-protocols@1.0.6(yjs@13.6.30))(yjs@13.6.30):
+ y-prosemirror@1.3.7(prosemirror-model@1.25.11)(prosemirror-state@1.4.4)(prosemirror-view@1.41.9)(y-protocols@1.0.6(yjs@13.6.30))(yjs@13.6.30):
dependencies:
lib0: 0.2.117
- prosemirror-model: 1.25.9
+ prosemirror-model: 1.25.11
prosemirror-state: 1.4.4
prosemirror-view: 1.41.9
y-protocols: 1.0.6(yjs@13.6.30)
@@ -21086,7 +20693,10 @@ snapshots:
yaml@1.10.3: {}
- yaml@2.8.3: {}
+ yaml@2.8.3:
+ optional: true
+
+ yaml@2.9.0: {}
yargs-parser@18.1.3:
dependencies:
@@ -21095,6 +20705,8 @@ snapshots:
yargs-parser@21.1.1: {}
+ yargs-parser@22.0.0: {}
+
yargs@15.4.1:
dependencies:
cliui: 6.0.0
@@ -21119,6 +20731,15 @@ snapshots:
y18n: 5.0.8
yargs-parser: 21.1.1
+ yargs@18.0.0:
+ dependencies:
+ cliui: 9.0.1
+ escalade: 3.2.0
+ get-caller-file: 2.0.5
+ string-width: 7.2.0
+ y18n: 5.0.8
+ yargs-parser: 22.0.0
+
yauzl@3.4.0:
dependencies:
pend: 1.2.0
diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml
index 00383938c..817e408d5 100644
--- a/pnpm-workspace.yaml
+++ b/pnpm-workspace.yaml
@@ -5,56 +5,30 @@ patchedDependencies:
scimmy@1.3.5: patches/scimmy@1.3.5.patch
overrides:
prosemirror-changeset: 2.4.0
- y-prosemirror: 1.3.7
glob: 13.0.6
- ws: 8.21.0
- dompurify: 3.4.11
+ ws: 8.21.3
+ dompurify: 3.4.13
+ mermaid: 11.16.1
+ undici: 7.29.0
tmp: 0.2.7
- hono: 4.12.25
- mermaid: 11.15.0
- nanoid@^3: 3.3.8
- socket.io-parser: 4.2.6
- serialize-javascript: 7.0.3
+ nanoid@^3: 3.3.18
lodash-es: 4.18.1
- lodash: 4.18.1
- '@hono/node-server': 1.19.13
- undici: 7.28.0
- ajv@^6: 6.14.0
- ajv@^8: 8.18.0
- underscore: 1.13.8
- immutable: 4.3.8
express-rate-limit: 8.2.2
- minimatch@^3: 3.1.5
- minimatch@^5: 5.1.8
flatted: 3.4.2
- picomatch@<2.3.2: 2.3.2
- picomatch@>=4.0.0 <4.0.4: 4.0.4
- fastify: 5.8.5
- yaml@>=1.0.0 <1.10.3: 1.10.3
+ find-my-way: 9.7.0
yaml@>=2.0.0 <2.8.3: 2.8.3
- path-to-regexp@^8: 8.4.0
- brace-expansion@^5: 5.0.6
- '@xmldom/xmldom': 0.8.13
- handlebars: 4.7.9
+ brace-expansion@^5: 5.0.9
axios: 1.18.1
- langsmith: 0.7.0
- follow-redirects: 1.16.0
- protobufjs: 7.5.8
- ip-address: 10.1.1
- fast-uri: 3.1.3
+ ip-address: 10.3.1
+ fast-uri: 3.1.5
form-data@>=4.0.0 <4.0.6: 4.0.6
- nanoid@>=4.0.0 <5.0.9: 5.1.16
- qs: 6.15.3
+ nanoid@>=4.0.0 <5.1.16: 5.1.16
esbuild@>=0.27.3 <0.28.1: 0.28.1
- '@babel/core@<=7.29.0': 7.29.7
'@opentelemetry/core@>=2.0.0 <2.8.0': 2.9.0
- '@babel/plugin-transform-modules-systemjs@<=7.29.3': 7.29.7
- brace-expansion@<1.1.13: 1.1.15
- brace-expansion@>=2.0.0 <2.0.3: 2.0.3
- js-yaml@>=3.0.0 <3.15.0: 3.15.0
- js-yaml@>=4.0.0 <=4.1.1: 4.3.0
+ js-yaml@>=3.0.0 <3.15.1: 3.15.1
+ js-yaml@>=4.0.0 <4.3.1: 4.3.1
shamefullyHoist: true
-minimumReleaseAge: 5760
+minimumReleaseAge: 4320
allowBuilds:
'@swc/core': true
bcrypt: true