+
+
+
-
-
-
C.O.R.E.
{children}
diff --git a/apps/webapp/app/components/sidebar/app-sidebar.tsx b/apps/webapp/app/components/sidebar/app-sidebar.tsx
index c1b10cd..5ff81b1 100644
--- a/apps/webapp/app/components/sidebar/app-sidebar.tsx
+++ b/apps/webapp/app/components/sidebar/app-sidebar.tsx
@@ -17,8 +17,8 @@ import Logo from "../logo/logo";
const data = {
navMain: [
{
- title: "Chat",
- url: "/home/chat",
+ title: "Conversation",
+ url: "/home/conversation",
icon: MessageSquare,
},
{
diff --git a/apps/webapp/app/components/ui/header.tsx b/apps/webapp/app/components/ui/header.tsx
index 99571fc..dd1db50 100644
--- a/apps/webapp/app/components/ui/header.tsx
+++ b/apps/webapp/app/components/ui/header.tsx
@@ -2,7 +2,7 @@ import { useLocation } from "@remix-run/react";
const PAGE_TITLES: Record
= {
"/home/dashboard": "Memory graph",
- "/home/chat": "Chat",
+ "/home/conversation": "Conversation",
"/home/integrations": "Integrations",
"/home/activity": "Activity",
};
diff --git a/apps/webapp/app/components/use-auto-scroll.tsx b/apps/webapp/app/components/use-auto-scroll.tsx
new file mode 100644
index 0000000..14277b0
--- /dev/null
+++ b/apps/webapp/app/components/use-auto-scroll.tsx
@@ -0,0 +1,169 @@
+// @hidden
+
+import React, { useCallback, useEffect, useRef, useState } from "react";
+import { cn } from "~/lib/utils";
+
+interface ScrollState {
+ isAtBottom: boolean;
+ autoScrollEnabled: boolean;
+}
+
+interface UseAutoScrollOptions {
+ offset?: number;
+ smooth?: boolean;
+ content?: React.ReactNode;
+}
+
+export function useAutoScroll(options: UseAutoScrollOptions = {}) {
+ const { offset = 20, smooth = false, content } = options;
+ const scrollRef = useRef(null);
+ const lastContentHeight = useRef(0);
+ const userHasScrolled = useRef(false);
+
+ const [scrollState, setScrollState] = useState({
+ isAtBottom: false,
+ autoScrollEnabled: true,
+ });
+
+ const checkIsAtBottom = useCallback(
+ (element: HTMLElement) => {
+ const { scrollTop, scrollHeight, clientHeight } = element;
+ const distanceToBottom = Math.abs(
+ scrollHeight - scrollTop - clientHeight,
+ );
+ return distanceToBottom <= offset;
+ },
+ [offset],
+ );
+
+ const scrollToBottom = useCallback(
+ (instant?: boolean) => {
+ if (scrollRef.current) {
+ const targetScrollTop =
+ scrollRef.current.scrollHeight - scrollRef.current.clientHeight;
+
+ if (instant) {
+ scrollRef.current.scrollTop = targetScrollTop;
+ } else {
+ scrollRef.current.scrollTo({
+ top: targetScrollTop,
+ behavior: smooth ? "smooth" : "auto",
+ });
+ }
+
+ setScrollState({
+ isAtBottom: true,
+ autoScrollEnabled: true,
+ });
+ userHasScrolled.current = false;
+ }
+ },
+ [smooth],
+ );
+
+ const handleScroll = useCallback(() => {
+ if (scrollRef.current) {
+ const atBottom = checkIsAtBottom(scrollRef.current);
+
+ setScrollState((prev) => ({
+ isAtBottom: atBottom,
+ // Re-enable auto-scroll if at the bottom
+ autoScrollEnabled: atBottom ? true : prev.autoScrollEnabled,
+ }));
+ }
+ }, [checkIsAtBottom]);
+
+ useEffect(() => {
+ const element = scrollRef.current;
+ if (element) {
+ element.addEventListener("scroll", handleScroll, { passive: true });
+ }
+
+ return () =>
+ element ? element.removeEventListener("scroll", handleScroll) : undefined;
+ }, [handleScroll]);
+
+ useEffect(() => {
+ const scrollElement = scrollRef.current;
+ if (!scrollElement) {
+ return;
+ }
+
+ const currentHeight = scrollElement.scrollHeight;
+ const hasNewContent = currentHeight !== lastContentHeight.current;
+
+ if (hasNewContent) {
+ if (scrollState.autoScrollEnabled) {
+ requestAnimationFrame(() => {
+ scrollToBottom(lastContentHeight.current === 0);
+ });
+ }
+ lastContentHeight.current = currentHeight;
+ }
+ }, [content, scrollState.autoScrollEnabled, scrollToBottom]);
+
+ useEffect(() => {
+ const resizeObserver = new ResizeObserver(() => {
+ if (scrollState.autoScrollEnabled) {
+ scrollToBottom(true);
+ }
+ });
+
+ const element = scrollRef.current;
+ if (element) {
+ resizeObserver.observe(element);
+ }
+
+ return () => resizeObserver.disconnect();
+ }, [scrollState.autoScrollEnabled, scrollToBottom]);
+
+ const disableAutoScroll = useCallback(() => {
+ const atBottom = scrollRef.current
+ ? checkIsAtBottom(scrollRef.current)
+ : false;
+
+ // Only disable if not at bottom
+ if (!atBottom) {
+ userHasScrolled.current = true;
+ setScrollState((prev) => ({
+ ...prev,
+ autoScrollEnabled: false,
+ }));
+ }
+ }, [checkIsAtBottom]);
+
+ return {
+ scrollRef,
+ isAtBottom: scrollState.isAtBottom,
+ autoScrollEnabled: scrollState.autoScrollEnabled,
+ scrollToBottom: () => scrollToBottom(false),
+ disableAutoScroll,
+ };
+}
+
+export const ScrollAreaWithAutoScroll = ({
+ children,
+ className,
+}: {
+ children: React.ReactNode;
+ className?: string;
+}) => {
+ const { scrollRef } = useAutoScroll({
+ smooth: true,
+ content: children,
+ });
+
+ return (
+
+ );
+};
diff --git a/apps/webapp/app/env.server.ts b/apps/webapp/app/env.server.ts
index 783c07b..da834a3 100644
--- a/apps/webapp/app/env.server.ts
+++ b/apps/webapp/app/env.server.ts
@@ -73,6 +73,8 @@ const EnvironmentSchema = z.object({
//Trigger
TRIGGER_PROJECT_ID: z.string(),
+ TRIGGER_SECRET_KEY: z.string(),
+ TRIGGER_API_URL: z.string(),
// Model envs
MODEL: z.string().default(LLMModelEnum.GPT41),
diff --git a/apps/webapp/app/root.tsx b/apps/webapp/app/root.tsx
index 22870b8..8028f39 100644
--- a/apps/webapp/app/root.tsx
+++ b/apps/webapp/app/root.tsx
@@ -31,7 +31,7 @@ import { usePostHog } from "./hooks/usePostHog";
import {
AppContainer,
MainCenteredContainer,
-} from "./components/layout/AppLayout";
+} from "./components/layout/app-layout";
import { RouteErrorDisplay } from "./components/ErrorDisplay";
import { themeSessionResolver } from "./services/sessionStorage.server";
import {
diff --git a/apps/webapp/app/routes/api.v1.add.tsx b/apps/webapp/app/routes/api.v1.add.tsx
new file mode 100644
index 0000000..a86e739
--- /dev/null
+++ b/apps/webapp/app/routes/api.v1.add.tsx
@@ -0,0 +1,21 @@
+import { json } from "@remix-run/node";
+
+import { createActionApiRoute } from "~/services/routeBuilders/apiBuilder.server";
+import { addToQueue, IngestBodyRequest } from "~/lib/ingest.server";
+
+const { action, loader } = createActionApiRoute(
+ {
+ body: IngestBodyRequest,
+ allowJWT: true,
+ authorization: {
+ action: "ingest",
+ },
+ corsStrategy: "all",
+ },
+ async ({ body, authentication }) => {
+ const response = addToQueue(body, authentication.userId);
+ return json({ ...response });
+ },
+);
+
+export { action, loader };
diff --git a/apps/webapp/app/routes/api.v1.conversation.$conversationId.stop.tsx b/apps/webapp/app/routes/api.v1.conversation.$conversationId.stop.tsx
index e469908..a6f3862 100644
--- a/apps/webapp/app/routes/api.v1.conversation.$conversationId.stop.tsx
+++ b/apps/webapp/app/routes/api.v1.conversation.$conversationId.stop.tsx
@@ -22,6 +22,7 @@ const { action, loader } = createActionApiRoute(
action: "oauth",
},
corsStrategy: "all",
+ method: "POST",
},
async ({ authentication, params }) => {
const workspace = await getWorkspaceByUser(authentication.userId);
diff --git a/apps/webapp/app/routes/api.v1.conversations.tsx b/apps/webapp/app/routes/api.v1.conversations.tsx
new file mode 100644
index 0000000..d850f4a
--- /dev/null
+++ b/apps/webapp/app/routes/api.v1.conversations.tsx
@@ -0,0 +1,41 @@
+import { json } from "@remix-run/node";
+import { getWorkspaceByUser } from "~/models/workspace.server";
+import {
+ getConversationsList,
+ GetConversationsListSchema,
+} from "~/services/conversation.server";
+import { requireUser } from "~/services/session.server";
+
+export const loader = async ({ request }: { request: Request }) => {
+ // Authenticate the request (allow JWT)
+ const user = await requireUser(request);
+
+ // Parse search params using the schema
+ const url = new URL(request.url);
+ const searchParamsObj: Record = {};
+ url.searchParams.forEach((value, key) => {
+ searchParamsObj[key] = value;
+ });
+ const parseResult = GetConversationsListSchema.safeParse(searchParamsObj);
+ if (!parseResult.success) {
+ return json(
+ { error: "Invalid search parameters", details: parseResult.error.errors },
+ { status: 400 },
+ );
+ }
+ const searchParams = parseResult.data;
+
+ const workspace = await getWorkspaceByUser(user.id);
+
+ if (!workspace) {
+ return json({ error: "No workspace found" }, { status: 404 });
+ }
+
+ const result = await getConversationsList(
+ workspace.id,
+ user.id,
+ searchParams || {},
+ );
+
+ return json(result);
+};
diff --git a/apps/webapp/app/routes/api.v1.search.tsx b/apps/webapp/app/routes/api.v1.search.tsx
new file mode 100644
index 0000000..342a703
--- /dev/null
+++ b/apps/webapp/app/routes/api.v1.search.tsx
@@ -0,0 +1,50 @@
+import { z } from "zod";
+import { createActionApiRoute } from "~/services/routeBuilders/apiBuilder.server";
+import { SearchService } from "~/services/search.server";
+import { json } from "@remix-run/node";
+
+export const SearchBodyRequest = z.object({
+ query: z.string(),
+ startTime: z.string().optional(),
+ endTime: z.string().optional(),
+
+ // These are not supported yet, but need to support these
+ spaceId: z.string().optional(),
+ limit: z.number().optional(),
+ maxBfsDepth: z.number().optional(),
+ includeInvalidated: z.boolean().optional(),
+ entityTypes: z.array(z.string()).optional(),
+ scoreThreshold: z.number().optional(),
+ minResults: z.number().optional(),
+});
+
+const searchService = new SearchService();
+const { action, loader } = createActionApiRoute(
+ {
+ body: SearchBodyRequest,
+ allowJWT: true,
+ authorization: {
+ action: "search",
+ },
+ corsStrategy: "all",
+ },
+ async ({ body, authentication }) => {
+ const results = await searchService.search(
+ body.query,
+ authentication.userId,
+ {
+ startTime: body.startTime ? new Date(body.startTime) : undefined,
+ endTime: body.endTime ? new Date(body.endTime) : undefined,
+ limit: body.limit,
+ maxBfsDepth: body.maxBfsDepth,
+ includeInvalidated: body.includeInvalidated,
+ entityTypes: body.entityTypes,
+ scoreThreshold: body.scoreThreshold,
+ minResults: body.minResults,
+ },
+ );
+ return json(results);
+ },
+);
+
+export { action, loader };
diff --git a/apps/webapp/app/routes/confirm-basic-details.tsx b/apps/webapp/app/routes/confirm-basic-details.tsx
index fcc517c..56815ea 100644
--- a/apps/webapp/app/routes/confirm-basic-details.tsx
+++ b/apps/webapp/app/routes/confirm-basic-details.tsx
@@ -3,7 +3,7 @@ import { useActionData } from "@remix-run/react";
import { type ActionFunctionArgs, json } from "@remix-run/node";
import { useForm } from "@conform-to/react";
import { getFieldsetConstraint, parse } from "@conform-to/zod";
-import { LoginPageLayout } from "~/components/layout/LoginPageLayout";
+import { LoginPageLayout } from "~/components/layout/login-page-layout";
import {
Card,
CardContent,
diff --git a/apps/webapp/app/routes/home.conversation.$conversationId.tsx b/apps/webapp/app/routes/home.conversation.$conversationId.tsx
new file mode 100644
index 0000000..c9197e0
--- /dev/null
+++ b/apps/webapp/app/routes/home.conversation.$conversationId.tsx
@@ -0,0 +1,187 @@
+import {
+ type LoaderFunctionArgs,
+ type ActionFunctionArgs,
+} from "@remix-run/server-runtime";
+import { sort } from "fast-sort";
+
+import { useParams, useRevalidator } from "@remix-run/react";
+import {
+ requireUser,
+ requireUserId,
+ requireWorkpace,
+} from "~/services/session.server";
+import {
+ getConversationAndHistory,
+ getCurrentConversationRun,
+ stopConversation,
+} from "~/services/conversation.server";
+import { type ConversationHistory } from "@core/database";
+import {
+ ConversationItem,
+ ConversationList,
+ ConversationTextarea,
+ StreamingConversation,
+} from "~/components/conversation";
+import { useTypedLoaderData } from "remix-typedjson";
+import React from "react";
+import { ScrollAreaWithAutoScroll } from "~/components/use-auto-scroll";
+
+import { json } from "@remix-run/node";
+import { env } from "~/env.server";
+import {
+ ResizableHandle,
+ ResizablePanel,
+ ResizablePanelGroup,
+} from "~/components/ui/resizable";
+
+// Example loader accessing params
+export async function loader({ params, request }: LoaderFunctionArgs) {
+ const user = await requireUser(request);
+ const workspace = await requireWorkpace(request);
+ const conversation = await getConversationAndHistory(
+ params.conversationId as string,
+ user.id,
+ );
+
+ if (!conversation) {
+ throw new Error("No conversation found");
+ }
+
+ const run = await getCurrentConversationRun(conversation.id, workspace.id);
+
+ return { conversation, run, apiURL: env.TRIGGER_API_URL };
+}
+
+// Example action accessing params
+export async function action({ params, request }: ActionFunctionArgs) {
+ if (request.method.toUpperCase() !== "POST") {
+ return new Response("Method Not Allowed", { status: 405 });
+ }
+ const userId = await requireUserId(request);
+ const workspace = await requireWorkpace(request);
+ // params.conversationId will be available here
+ const { conversationId } = params;
+
+ if (!conversationId) {
+ throw new Error("No conversation");
+ }
+
+ const result = await stopConversation(conversationId, workspace.id);
+ return json(result);
+}
+
+// Accessing params in the component
+export default function SingleConversation() {
+ const { conversation, run, apiURL } = useTypedLoaderData();
+ const conversationHistory = conversation.ConversationHistory;
+
+ const [conversationResponse, setConversationResponse] = React.useState<
+ { conversationHistoryId: string; id: string; token: string } | undefined
+ >(run);
+
+ const [stopLoading, setStopLoading] = React.useState(false);
+
+ const { conversationId } = useParams();
+ const revalidator = useRevalidator();
+
+ React.useEffect(() => {
+ if (run) {
+ setConversationResponse(run);
+ }
+ }, [run]);
+
+ const getConversations = () => {
+ const lastConversationHistoryId =
+ conversationResponse?.conversationHistoryId;
+
+ // First sort the conversation history by creation time
+ const sortedConversationHistory = sort(conversationHistory).asc(
+ (ch) => ch.createdAt,
+ );
+
+ const lastIndex = sortedConversationHistory.findIndex(
+ (item) => item.id === lastConversationHistoryId,
+ );
+
+ // Filter out any conversation history items that come after the lastConversationHistoryId
+ const filteredConversationHistory = lastConversationHistoryId
+ ? sortedConversationHistory.filter((_ch, currentIndex: number) => {
+ // Find the index of the last conversation history
+
+ // Only keep items that come before or are the last conversation history
+ return currentIndex <= lastIndex;
+ })
+ : sortedConversationHistory;
+
+ return (
+ <>
+ {filteredConversationHistory.map(
+ (ch: ConversationHistory, index: number) => {
+ return ;
+ },
+ )}
+ >
+ );
+ };
+
+ if (typeof window === "undefined") {
+ return null;
+ }
+
+ return (
+
+
+
+
+
+
+
+
+
+
+ {getConversations()}
+ {conversationResponse && (
+ {
+ setConversationResponse(undefined);
+ revalidator.revalidate();
+ }}
+ apiURL={apiURL}
+ />
+ )}
+
+
+
+
+ {conversation?.status !== "need_approval" && (
+
+ )}
+
+
+
+
+
+
+ );
+}
diff --git a/apps/webapp/app/routes/home.conversation._index.tsx b/apps/webapp/app/routes/home.conversation._index.tsx
new file mode 100644
index 0000000..1fdc81e
--- /dev/null
+++ b/apps/webapp/app/routes/home.conversation._index.tsx
@@ -0,0 +1,72 @@
+import {
+ type ActionFunctionArgs,
+ type LoaderFunctionArgs,
+} from "@remix-run/server-runtime";
+import { useTypedLoaderData } from "remix-typedjson";
+import { parse } from "@conform-to/zod";
+
+import {
+ requireUser,
+ requireUserId,
+ requireWorkpace,
+} from "~/services/session.server";
+
+import { ConversationNew } from "~/components/conversation";
+import {
+ createConversation,
+ CreateConversationSchema,
+} from "~/services/conversation.server";
+import { json } from "@remix-run/node";
+
+export async function loader({ request }: LoaderFunctionArgs) {
+ // Only return userId, not the heavy nodeLinks
+ const user = await requireUser(request);
+
+ return { user };
+}
+
+export async function action({ request }: ActionFunctionArgs) {
+ if (request.method.toUpperCase() !== "POST") {
+ return new Response("Method Not Allowed", { status: 405 });
+ }
+
+ const userId = await requireUserId(request);
+ const workspace = await requireWorkpace(request);
+ const formData = await request.formData();
+
+ const submission = parse(formData, { schema: CreateConversationSchema });
+
+ if (!submission.value || submission.intent !== "submit") {
+ return json(submission);
+ }
+
+ const conversation = await createConversation(workspace?.id, userId, {
+ message: submission.value.message,
+ title: submission.value.title,
+ conversationId: submission.value.conversationId,
+ });
+
+ // Redirect to the conversation page after creation
+ // conversationId may be in different places depending on createConversation logic
+ const conversationId = conversation?.conversationId;
+
+ if (conversationId) {
+ return new Response(null, {
+ status: 302,
+ headers: {
+ Location: `/home/conversation/${conversationId}`,
+ },
+ });
+ }
+
+ // fallback: just return the conversation object
+ return json({ conversation });
+}
+
+export default function Chat() {
+ const { user } = useTypedLoaderData();
+
+ return (
+ <>{typeof window !== "undefined" && }>
+ );
+}
diff --git a/apps/webapp/app/routes/home.dashboard.tsx b/apps/webapp/app/routes/home.dashboard.tsx
index 404affe..a1ec9cb 100644
--- a/apps/webapp/app/routes/home.dashboard.tsx
+++ b/apps/webapp/app/routes/home.dashboard.tsx
@@ -1,29 +1,19 @@
-import {
- ResizableHandle,
- ResizablePanel,
- ResizablePanelGroup,
-} from "~/components/ui/resizable";
import { parse } from "@conform-to/zod";
import { json } from "@remix-run/node";
import { useState, useEffect } from "react";
-import { Tabs, TabsContent, TabsList, TabsTrigger } from "~/components/ui/tabs";
-import { Ingest } from "~/components/dashboard/ingest";
import {
type LoaderFunctionArgs,
type ActionFunctionArgs,
} from "@remix-run/server-runtime";
import { requireUserId } from "~/services/session.server";
import { addToQueue, IngestBodyRequest } from "~/lib/ingest.server";
-import { getNodeLinks } from "~/lib/neo4j.server";
import { useTypedLoaderData } from "remix-typedjson";
-import { Search } from "~/components/dashboard";
import { SearchBodyRequest } from "./search";
import { SearchService } from "~/services/search.server";
import { GraphVisualizationClient } from "~/components/graph/graph-client";
-// --- Only return userId in loader, fetch nodeLinks on client ---
export async function action({ request }: ActionFunctionArgs) {
const userId = await requireUserId(request);
const formData = await request.formData();
diff --git a/apps/webapp/app/routes/ingest.tsx b/apps/webapp/app/routes/ingest.tsx
index a86e739..80270a5 100644
--- a/apps/webapp/app/routes/ingest.tsx
+++ b/apps/webapp/app/routes/ingest.tsx
@@ -1,3 +1,6 @@
+// DEPRECATED: This route is deprecated. Please use /api/v1/add instead.
+// The API logic has been moved to /api/v1/add. This file is retained for reference only.
+
import { json } from "@remix-run/node";
import { createActionApiRoute } from "~/services/routeBuilders/apiBuilder.server";
diff --git a/apps/webapp/app/routes/login._index.tsx b/apps/webapp/app/routes/login._index.tsx
index f4814bb..2d8a300 100644
--- a/apps/webapp/app/routes/login._index.tsx
+++ b/apps/webapp/app/routes/login._index.tsx
@@ -1,7 +1,7 @@
import { type LoaderFunctionArgs } from "@remix-run/node";
import { redirect, typedjson, useTypedLoaderData } from "remix-typedjson";
-import { LoginPageLayout } from "~/components/layout/LoginPageLayout";
+import { LoginPageLayout } from "~/components/layout/login-page-layout";
import { Fieldset } from "~/components/ui/Fieldset";
import { isGoogleAuthSupported } from "~/services/auth.server";
import { setRedirectTo } from "~/services/redirectTo.server";
diff --git a/apps/webapp/app/routes/login.magic.tsx b/apps/webapp/app/routes/login.magic.tsx
index 2a68d65..9ec386d 100644
--- a/apps/webapp/app/routes/login.magic.tsx
+++ b/apps/webapp/app/routes/login.magic.tsx
@@ -16,7 +16,7 @@ import { Form, useNavigation } from "@remix-run/react";
import { Inbox, Loader, Mail } from "lucide-react";
import { typedjson, useTypedLoaderData } from "remix-typedjson";
import { z } from "zod";
-import { LoginPageLayout } from "~/components/layout/LoginPageLayout";
+import { LoginPageLayout } from "~/components/layout/login-page-layout";
import { Button } from "~/components/ui";
import { Fieldset } from "~/components/ui/Fieldset";
import { FormButtons } from "~/components/ui/FormButtons";
diff --git a/apps/webapp/app/routes/search.tsx b/apps/webapp/app/routes/search.tsx
index 342a703..981ef17 100644
--- a/apps/webapp/app/routes/search.tsx
+++ b/apps/webapp/app/routes/search.tsx
@@ -1,3 +1,6 @@
+// DEPRECATED: This route is deprecated. Please use /api/v1/search instead.
+// The API logic has been moved to /api/v1/search. This file is retained for reference only.
+
import { z } from "zod";
import { createActionApiRoute } from "~/services/routeBuilders/apiBuilder.server";
import { SearchService } from "~/services/search.server";
diff --git a/apps/webapp/app/services/apiAuth.server.ts b/apps/webapp/app/services/apiAuth.server.ts
index 5cc9721..08cb0ba 100644
--- a/apps/webapp/app/services/apiAuth.server.ts
+++ b/apps/webapp/app/services/apiAuth.server.ts
@@ -1,6 +1,3 @@
-import { SignJWT, errors, jwtVerify } from "jose";
-
-import { env } from "~/env.server";
import { findUserByToken } from "~/models/personal-token.server";
// See this for more: https://twitter.com/mattpocockuk/status/1653403198885904387?s=20
diff --git a/apps/webapp/app/services/conversation.server.ts b/apps/webapp/app/services/conversation.server.ts
index 70694a3..f0beecc 100644
--- a/apps/webapp/app/services/conversation.server.ts
+++ b/apps/webapp/app/services/conversation.server.ts
@@ -267,3 +267,95 @@ export async function getConversationContext(
previousHistory,
};
}
+
+export const getConversationAndHistory = async (
+ conversationId: string,
+ userId: string,
+) => {
+ const conversation = await prisma.conversation.findFirst({
+ where: {
+ id: conversationId,
+ },
+ include: {
+ ConversationHistory: true,
+ },
+ });
+
+ return conversation;
+};
+
+export const GetConversationsListSchema = z.object({
+ page: z.string().optional().default("1"),
+ limit: z.string().optional().default("20"),
+ search: z.string().optional(),
+});
+
+export type GetConversationsListDto = z.infer;
+
+export async function getConversationsList(
+ workspaceId: string,
+ userId: string,
+ params: GetConversationsListDto,
+) {
+ const page = parseInt(params.page);
+ const limit = parseInt(params.limit);
+ const skip = (page - 1) * limit;
+
+ const where = {
+ workspaceId,
+ userId,
+ deleted: null,
+ ...(params.search && {
+ OR: [
+ {
+ title: {
+ contains: params.search,
+ mode: "insensitive" as const,
+ },
+ },
+ {
+ ConversationHistory: {
+ some: {
+ message: {
+ contains: params.search,
+ mode: "insensitive" as const,
+ },
+ },
+ },
+ },
+ ],
+ }),
+ };
+
+ const [conversations, total] = await Promise.all([
+ prisma.conversation.findMany({
+ where,
+ include: {
+ ConversationHistory: {
+ take: 1,
+ orderBy: {
+ createdAt: "desc",
+ },
+ },
+ },
+ orderBy: {
+ updatedAt: "desc",
+ },
+ skip,
+ take: limit,
+ }),
+ prisma.conversation.count({ where }),
+ ]);
+
+ return {
+ conversations,
+ pagination: {
+ page,
+ limit,
+ total,
+ totalPages: Math.ceil(total / limit),
+ hasNext: page < Math.ceil(total / limit),
+ hasPrev: page > 1,
+ },
+ };
+}
diff --git a/apps/webapp/app/services/session.server.ts b/apps/webapp/app/services/session.server.ts
index 309c2c9..f0cea55 100644
--- a/apps/webapp/app/services/session.server.ts
+++ b/apps/webapp/app/services/session.server.ts
@@ -62,7 +62,17 @@ export async function requireUser(request: Request) {
export async function requireWorkpace(request: Request) {
const userId = await requireUserId(request);
- return getWorkspaceByUser(userId);
+ const workspace = await getWorkspaceByUser(userId);
+
+ if (!workspace) {
+ const url = new URL(request.url);
+ const searchParams = new URLSearchParams([
+ ["redirectTo", `${url.pathname}${url.search}`],
+ ]);
+ throw redirect(`/login?${searchParams}`);
+ }
+
+ return workspace;
}
export async function logout(request: Request) {
diff --git a/apps/webapp/app/tailwind.css b/apps/webapp/app/tailwind.css
index 9b38b4c..2a093b3 100644
--- a/apps/webapp/app/tailwind.css
+++ b/apps/webapp/app/tailwind.css
@@ -12,7 +12,7 @@
--foreground: oklch(0% 0 0);
--popover: oklch(93.05% 0 0);
--popover-foreground: oklch(0% 0 0);
- --primary: oklch(54% 0.1789 271);
+ --primary: oklch(60% 0.13 30);
--primary-foreground: oklch(100% 0 0);
--secondary: 210 40% 96.1%;
--secondary-foreground: oklch(0% 0 0);
@@ -49,7 +49,7 @@
--foreground: oklch(92.8% 0 0);
--popover: oklch(28.5% 0 0);
--popover-foreground: oklch(92.8% 0 0);
- --primary: oklch(54% 0.1789 271);
+ --primary: oklch(60% 0.13 30);
--primary-foreground: oklch(92.8% 0 0);
--secondary: 210 40% 96.1%;
--secondary-foreground: oklch(92.8% 0 0);
@@ -327,4 +327,44 @@
body {
@apply bg-background-2 text-foreground text-base;
}
-}
\ No newline at end of file
+
+
+ @supports (scrollbar-width: auto) {
+ .overflow-y-auto,
+ .overflow-x-auto,
+ .overflow-auto {
+ overflow-anchor: none;
+ scrollbar-color: var(--gray-500) transparent;
+ scrollbar-width: thin;
+ }
+ }
+
+ /* Legacy browsers with `::-webkit-scrollbar-*` support */
+ @supports selector(::-webkit-scrollbar) {
+ .overflow-y-auto::-webkit-scrollbar-thumb,
+ .overflow-x-auto::-webkit-scrollbar-thumb,
+ .overflow-auto::-webkit-scrollbar-thumb {
+ background: transparent;
+ }
+ .overflow-y-auto::-webkit-scrollbar-track,
+ .overflow-x-auto::-webkit-scrollbar-track,
+ .overflow-auto::-webkit-scrollbar-track {
+ background: var(--gray-600);
+ }
+
+ .overflow-y-auto::-webkit-scrollbar,
+ .overflow-x-auto::-webkit-scrollbar,
+ .overflow-auto::-webkit-scrollbar {
+ max-width: 5px;
+ }
+ }
+
+ nav[aria-label='breadcrumb'] li {
+ @apply text-base;
+ }
+
+ p.is-editor-empty {
+ font-size: 14px !important;
+ }
+}
+
diff --git a/apps/webapp/app/trigger/chat/chat.ts b/apps/webapp/app/trigger/chat/chat.ts
index 72882ab..d05bf26 100644
--- a/apps/webapp/app/trigger/chat/chat.ts
+++ b/apps/webapp/app/trigger/chat/chat.ts
@@ -1,7 +1,5 @@
-import { PrismaClient } from "@prisma/client";
import { ActionStatusEnum } from "@core/types";
-import { logger, metadata, task } from "@trigger.dev/sdk/v3";
-import { format } from "date-fns";
+import { metadata, task, queue } from "@trigger.dev/sdk";
import { run } from "./chat-utils";
import { MCP } from "../utils/mcp";
@@ -17,7 +15,10 @@ import {
updateExecutionStep,
} from "../utils/utils";
-const prisma = new PrismaClient();
+const chatQueue = queue({
+ name: "chat-queue",
+ concurrencyLimit: 10,
+});
/**
* Main chat task that orchestrates the agent workflow
@@ -26,10 +27,7 @@ const prisma = new PrismaClient();
export const chat = task({
id: "chat",
maxDuration: 3000,
- queue: {
- name: "chat",
- concurrencyLimit: 30,
- },
+ queue: chatQueue,
init,
run: async (payload: RunChatPayload, { init }) => {
await updateConversationStatus("running", payload.conversationId);
@@ -39,8 +37,6 @@ export const chat = task({
const { previousHistory, ...otherData } = payload.context;
- const isContinuation = payload.isContinuation || false;
-
// Initialise mcp
const mcp = new MCP();
await mcp.init();
diff --git a/apps/webapp/app/trigger/utils/utils.ts b/apps/webapp/app/trigger/utils/utils.ts
index f8ce5a7..db3d586 100644
--- a/apps/webapp/app/trigger/utils/utils.ts
+++ b/apps/webapp/app/trigger/utils/utils.ts
@@ -144,7 +144,7 @@ export interface RunChatPayload {
isContinuation?: boolean;
}
-export const init = async (payload: InitChatPayload) => {
+export const init = async ({ payload }: { payload: InitChatPayload }) => {
logger.info("Loading init");
const conversationHistory = await prisma.conversationHistory.findUnique({
where: { id: payload.conversationHistoryId },
diff --git a/apps/webapp/package.json b/apps/webapp/package.json
index de9ac5d..093076f 100644
--- a/apps/webapp/package.json
+++ b/apps/webapp/package.json
@@ -9,7 +9,7 @@
"lint": "eslint --ignore-path .gitignore --cache --cache-location ./node_modules/.cache/eslint .",
"start": "remix-serve ./build/server/index.js",
"typecheck": "tsc",
- "trigger:dev": "npx trigger.dev@latest dev"
+ "trigger:dev": "pnpm dlx trigger.dev@v4-beta dev"
},
"dependencies": {
"@ai-sdk/anthropic": "^1.2.12",
@@ -54,7 +54,16 @@
"@tailwindcss/container-queries": "^0.1.1",
"@tailwindcss/postcss": "^4.1.7",
"@tanstack/react-table": "^8.13.2",
- "@trigger.dev/sdk": "^3.3.17",
+ "@tiptap/extension-document": "^2.11.9",
+ "@tiptap/extension-hard-break": "^2.11.9",
+ "@tiptap/extension-history": "^2.11.9",
+ "@tiptap/extension-paragraph": "^2.11.9",
+ "@tiptap/extension-text": "^2.11.9",
+ "@tiptap/starter-kit": "2.11.9",
+ "@tiptap/react": "^2.11.9",
+ "@tiptap/pm": "^2.11.9",
+ "@trigger.dev/sdk": "^4.0.0-v4-beta.22",
+ "@trigger.dev/react-hooks": "^4.0.0-v4-beta.22",
"ai": "4.3.14",
"axios": "^1.10.0",
"bullmq": "^5.53.2",
@@ -70,6 +79,7 @@
"emails": "workspace:*",
"execa": "^9.6.0",
"express": "^4.18.1",
+ "fast-sort": "^3.4.0",
"graphology": "^0.26.0",
"graphology-layout-force": "^0.2.4",
"graphology-layout-forceatlas2": "^0.10.1",
@@ -83,6 +93,7 @@
"nanoid": "3.3.8",
"neo4j-driver": "^5.28.1",
"non.geist": "^1.0.2",
+ "novel": "^1.0.2",
"ollama-ai-provider": "1.2.0",
"posthog-js": "^1.116.6",
"react": "^18.2.0",
@@ -113,7 +124,7 @@
"@tailwindcss/forms": "^0.5.10",
"@tailwindcss/typography": "^0.5.16",
"@tailwindcss/vite": "^4.1.7",
- "@trigger.dev/build": "^3.3.17",
+ "@trigger.dev/build": "^4.0.0-v4-beta.22",
"@types/compression": "^1.7.2",
"@types/d3": "^7.4.3",
"@types/express": "^4.17.13",
@@ -121,6 +132,7 @@
"@types/simple-oauth2": "^5.0.7",
"@types/react": "^18.2.20",
"@types/react-dom": "^18.2.7",
+ "@types/react-virtualized": "^9.22.0",
"@typescript-eslint/eslint-plugin": "^6.7.4",
"@typescript-eslint/parser": "^6.7.4",
"autoprefixer": "^10.4.19",
diff --git a/apps/webapp/prisma/schema.prisma b/apps/webapp/prisma/schema.prisma
new file mode 100644
index 0000000..2d80e73
--- /dev/null
+++ b/apps/webapp/prisma/schema.prisma
@@ -0,0 +1,378 @@
+datasource db {
+ provider = "postgresql"
+ url = env("DATABASE_URL")
+ directUrl = env("DIRECT_URL")
+}
+
+generator client {
+ provider = "prisma-client-js"
+ binaryTargets = ["native", "debian-openssl-1.1.x"]
+ previewFeatures = ["tracing"]
+}
+
+model Activity {
+ id String @id @default(uuid())
+ createdAt DateTime @default(now())
+ updatedAt DateTime @updatedAt
+ deleted DateTime?
+
+ text String
+ // Used to link the task or activity to external apps
+ sourceURL String?
+
+ integrationAccount IntegrationAccount? @relation(fields: [integrationAccountId], references: [id])
+ integrationAccountId String?
+
+ rejectionReason String?
+
+ workspace Workspace @relation(fields: [workspaceId], references: [id])
+ workspaceId String
+
+ WebhookDeliveryLog WebhookDeliveryLog[]
+
+ ConversationHistory ConversationHistory[]
+}
+
+model AuthorizationCode {
+ id String @id @default(cuid())
+
+ code String @unique
+
+ personalAccessToken PersonalAccessToken? @relation(fields: [personalAccessTokenId], references: [id], onDelete: Cascade, onUpdate: Cascade)
+ personalAccessTokenId String?
+
+ createdAt DateTime @default(now())
+ updatedAt DateTime @updatedAt
+}
+
+model Conversation {
+ id String @id @default(uuid())
+ createdAt DateTime @default(now())
+ updatedAt DateTime @updatedAt
+ deleted DateTime?
+
+ unread Boolean @default(false)
+
+ title String?
+ user User @relation(fields: [userId], references: [id])
+ userId String
+
+ workspace Workspace? @relation(fields: [workspaceId], references: [id])
+ workspaceId String?
+
+ status String @default("pending") // Can be "pending", "running", "completed", "failed", "need_attention"
+
+ ConversationHistory ConversationHistory[]
+}
+
+model ConversationExecutionStep {
+ id String @id @default(uuid())
+ createdAt DateTime @default(now())
+ updatedAt DateTime @updatedAt
+ deleted DateTime?
+
+ thought String
+ message String
+
+ actionId String?
+ actionOutput String?
+ actionInput String?
+ actionStatus String?
+
+ metadata Json? @default("{}")
+
+ conversationHistory ConversationHistory @relation(fields: [conversationHistoryId], references: [id])
+ conversationHistoryId String
+}
+
+model ConversationHistory {
+ id String @id @default(uuid())
+ createdAt DateTime @default(now())
+ updatedAt DateTime @updatedAt
+ deleted DateTime?
+
+ message String
+ userType UserType
+
+ activity Activity? @relation(fields: [activityId], references: [id])
+ activityId String?
+
+ context Json?
+
+ thoughts Json?
+ user User? @relation(fields: [userId], references: [id])
+ userId String?
+
+ conversation Conversation @relation(fields: [conversationId], references: [id])
+ conversationId String
+ ConversationExecutionStep ConversationExecutionStep[]
+}
+
+model Entity {
+ id String @id @default(cuid())
+ name String @unique // e.g., "User", "Issue", "Task", "Automation"
+ metadata Json // Store field definitions and their types
+
+ // Relations
+ spaceEntities SpaceEntity[]
+
+ createdAt DateTime @default(now())
+ updatedAt DateTime @updatedAt
+}
+
+model IngestionQueue {
+ id String @id @default(cuid())
+
+ // Relations
+ space Space? @relation(fields: [spaceId], references: [id])
+ spaceId String?
+
+ // Queue metadata
+ data Json // The actual data to be processed
+ output Json? // The processed output data
+ status IngestionStatus
+ priority Int @default(0)
+
+ workspaceId String
+ workspace Workspace @relation(fields: [workspaceId], references: [id])
+
+ // Error handling
+ error String?
+ retryCount Int @default(0)
+
+ // Timestamps
+ createdAt DateTime @default(now())
+ updatedAt DateTime @updatedAt
+ processedAt DateTime?
+}
+
+model IntegrationAccount {
+ id String @id @default(uuid())
+ createdAt DateTime @default(now())
+ updatedAt DateTime @updatedAt
+ deleted DateTime?
+
+ integrationConfiguration Json
+ accountId String?
+ settings Json?
+ isActive Boolean @default(true)
+
+ integratedBy User @relation(references: [id], fields: [integratedById])
+ integratedById String
+ integrationDefinition IntegrationDefinitionV2 @relation(references: [id], fields: [integrationDefinitionId])
+ integrationDefinitionId String
+ workspace Workspace @relation(references: [id], fields: [workspaceId])
+ workspaceId String
+ Activity Activity[]
+
+ @@unique([accountId, integrationDefinitionId, workspaceId])
+}
+
+model IntegrationDefinitionV2 {
+ id String @id @default(uuid())
+ createdAt DateTime @default(now())
+ updatedAt DateTime @updatedAt
+ deleted DateTime?
+
+ name String @unique
+ slug String
+ description String
+ icon String
+ config Json?
+ spec Json @default("{}")
+ version String?
+ url String?
+
+ workspace Workspace? @relation(references: [id], fields: [workspaceId])
+ workspaceId String?
+
+ IntegrationAccount IntegrationAccount[]
+}
+
+model InvitationCode {
+ id String @id @default(cuid())
+ code String @unique
+
+ users User[]
+
+ createdAt DateTime @default(now())
+}
+
+model PersonalAccessToken {
+ id String @id @default(cuid())
+
+ /// If generated by the CLI this will be "cli", otherwise user-provided
+ name String
+
+ /// This is the token encrypted using the ENCRYPTION_KEY
+ encryptedToken Json
+
+ /// This is shown in the UI, with ********
+ obfuscatedToken String
+
+ /// This is used to find the token in the database
+ hashedToken String @unique
+
+ user User @relation(fields: [userId], references: [id])
+ userId String
+
+ revokedAt DateTime?
+ lastAccessedAt DateTime?
+
+ createdAt DateTime @default(now())
+ updatedAt DateTime @updatedAt
+
+ authorizationCodes AuthorizationCode[]
+}
+
+model Space {
+ id String @id @default(cuid())
+ name String
+ description String?
+ autoMode Boolean @default(false)
+
+ // Relations
+ user User @relation(fields: [userId], references: [id])
+ userId String
+
+ // Space's enabled entities
+ enabledEntities SpaceEntity[]
+
+ createdAt DateTime @default(now())
+ updatedAt DateTime @updatedAt
+ IngestionQueue IngestionQueue[]
+}
+
+model SpaceEntity {
+ id String @id @default(cuid())
+
+ // Relations
+ space Space @relation(fields: [spaceId], references: [id])
+ spaceId String
+
+ entity Entity @relation(fields: [entityId], references: [id])
+ entityId String
+
+ // Custom settings for this entity in this space
+ settings Json?
+
+ createdAt DateTime @default(now())
+ updatedAt DateTime @updatedAt
+
+ @@unique([spaceId, entityId])
+}
+
+model User {
+ id String @id @default(cuid())
+ email String @unique
+
+ authenticationMethod AuthenticationMethod
+ authenticationProfile Json?
+ authenticationExtraParams Json?
+ authIdentifier String? @unique
+
+ displayName String?
+ name String?
+ avatarUrl String?
+
+ memoryFilter String? // Adding memory filter instructions
+
+ admin Boolean @default(false)
+
+ createdAt DateTime @default(now())
+ updatedAt DateTime @updatedAt
+
+ marketingEmails Boolean @default(true)
+ confirmedBasicDetails Boolean @default(false)
+
+ referralSource String?
+
+ personalAccessTokens PersonalAccessToken[]
+ InvitationCode InvitationCode? @relation(fields: [invitationCodeId], references: [id])
+ invitationCodeId String?
+ Space Space[]
+ Workspace Workspace?
+ IntegrationAccount IntegrationAccount[]
+ WebhookConfiguration WebhookConfiguration[]
+ Conversation Conversation[]
+ ConversationHistory ConversationHistory[]
+}
+
+model WebhookConfiguration {
+ id String @id @default(cuid())
+ url String
+ secret String?
+ isActive Boolean @default(true)
+ eventTypes String[] // List of event types this webhook is interested in, e.g. ["activity.created"]
+ user User? @relation(fields: [userId], references: [id])
+ userId String?
+ workspace Workspace? @relation(fields: [workspaceId], references: [id])
+ workspaceId String?
+ createdAt DateTime @default(now())
+ updatedAt DateTime @updatedAt
+
+ WebhookDeliveryLog WebhookDeliveryLog[]
+}
+
+model WebhookDeliveryLog {
+ id String @id @default(cuid())
+ webhookConfiguration WebhookConfiguration @relation(fields: [webhookConfigurationId], references: [id])
+ webhookConfigurationId String
+
+ activity Activity? @relation(fields: [activityId], references: [id])
+ activityId String?
+
+ status WebhookDeliveryStatus
+ responseStatusCode Int?
+ responseBody String?
+ error String?
+ deliveredAt DateTime @default(now())
+
+ createdAt DateTime @default(now())
+}
+
+model Workspace {
+ id String @id @default(uuid())
+ createdAt DateTime @default(now())
+ updatedAt DateTime @updatedAt
+ deleted DateTime?
+
+ name String
+ slug String @unique
+ icon String?
+
+ integrations String[]
+
+ userId String? @unique
+ user User? @relation(fields: [userId], references: [id])
+ IngestionQueue IngestionQueue[]
+ IntegrationAccount IntegrationAccount[]
+ IntegrationDefinitionV2 IntegrationDefinitionV2[]
+ Activity Activity[]
+ WebhookConfiguration WebhookConfiguration[]
+ Conversation Conversation[]
+}
+
+enum AuthenticationMethod {
+ GOOGLE
+ MAGIC_LINK
+}
+
+enum IngestionStatus {
+ PENDING
+ PROCESSING
+ COMPLETED
+ FAILED
+ CANCELLED
+}
+
+enum UserType {
+ Agent
+ User
+ System
+}
+
+enum WebhookDeliveryStatus {
+ SUCCESS
+ FAILED
+}
diff --git a/apps/webapp/trigger.config.ts b/apps/webapp/trigger.config.ts
index 18b35f1..4743a3f 100644
--- a/apps/webapp/trigger.config.ts
+++ b/apps/webapp/trigger.config.ts
@@ -1,4 +1,9 @@
import { defineConfig } from "@trigger.dev/sdk/v3";
+import {
+ additionalPackages,
+ syncEnvVars,
+} from "@trigger.dev/build/extensions/core";
+import { prismaExtension } from "@trigger.dev/build/extensions/prisma";
export default defineConfig({
project: process.env.TRIGGER_PROJECT_ID as string,
@@ -19,4 +24,15 @@ export default defineConfig({
},
},
dirs: ["./app/trigger"],
+ build: {
+ extensions: [
+ syncEnvVars(() => ({
+ DATABASE_URL: process.env.DATABASE_URL,
+ BACKEND_HOST: process.env.BACKEND_HOST,
+ })),
+ prismaExtension({
+ schema: "prisma/schema.prisma",
+ }),
+ ],
+ },
});
diff --git a/apps/webapp/vite.config.ts b/apps/webapp/vite.config.ts
index 5ef7eee..556821f 100644
--- a/apps/webapp/vite.config.ts
+++ b/apps/webapp/vite.config.ts
@@ -28,7 +28,13 @@ export default defineConfig({
allowedHosts: true,
},
ssr: {
- noExternal: ["@core/database", "tailwindcss"],
+ target: "node",
+ noExternal: [
+ "@core/database",
+ "tailwindcss",
+ "@tiptap/react",
+ "react-tweet",
+ ],
external: ["@prisma/client"],
},
});
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 682b4a0..7aa64c5 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -156,9 +156,36 @@ importers:
'@tanstack/react-table':
specifier: ^8.13.2
version: 8.21.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@tiptap/extension-document':
+ specifier: ^2.11.9
+ version: 2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))
+ '@tiptap/extension-hard-break':
+ specifier: ^2.11.9
+ version: 2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))
+ '@tiptap/extension-history':
+ specifier: ^2.11.9
+ version: 2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))(@tiptap/pm@2.25.0)
+ '@tiptap/extension-paragraph':
+ specifier: ^2.11.9
+ version: 2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))
+ '@tiptap/extension-text':
+ specifier: ^2.11.9
+ version: 2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))
+ '@tiptap/pm':
+ specifier: ^2.11.9
+ version: 2.25.0
+ '@tiptap/react':
+ specifier: ^2.11.9
+ version: 2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))(@tiptap/pm@2.25.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@tiptap/starter-kit':
+ specifier: 2.11.9
+ version: 2.11.9
+ '@trigger.dev/react-hooks':
+ specifier: ^4.0.0-v4-beta.22
+ version: 4.0.0-v4-beta.22(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@trigger.dev/sdk':
- specifier: ^3.3.17
- version: 3.3.17(zod@3.23.8)
+ specifier: ^4.0.0-v4-beta.22
+ version: 4.0.0-v4-beta.22(ai@4.3.14(react@18.3.1)(zod@3.23.8))(zod@3.23.8)
ai:
specifier: 4.3.14
version: 4.3.14(react@18.3.1)(zod@3.23.8)
@@ -204,6 +231,9 @@ importers:
express:
specifier: ^4.18.1
version: 4.21.2
+ fast-sort:
+ specifier: ^3.4.0
+ version: 3.4.1
graphology:
specifier: ^0.26.0
version: 0.26.0(graphology-types@0.24.8)
@@ -243,6 +273,9 @@ importers:
non.geist:
specifier: ^1.0.2
version: 1.0.4
+ novel:
+ specifier: ^1.0.2
+ version: 1.0.2(@tiptap/extension-code-block@2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))(@tiptap/pm@2.25.0))(@types/react-dom@18.3.7(@types/react@18.2.69))(@types/react@18.2.69)(highlight.js@11.11.1)(lowlight@3.3.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
ollama-ai-provider:
specifier: 1.2.0
version: 1.2.0(zod@3.23.8)
@@ -329,8 +362,8 @@ importers:
specifier: ^4.1.7
version: 4.1.9(vite@6.3.5(@types/node@18.19.115)(jiti@2.4.2)(lightningcss@1.30.1)(terser@5.42.0)(yaml@2.8.0))
'@trigger.dev/build':
- specifier: ^3.3.17
- version: 3.3.17(typescript@5.8.3)
+ specifier: ^4.0.0-v4-beta.22
+ version: 4.0.0-v4-beta.22(typescript@5.8.3)
'@types/compression':
specifier: ^1.7.2
version: 1.8.1
@@ -349,6 +382,9 @@ importers:
'@types/react-dom':
specifier: ^18.2.7
version: 18.3.7(@types/react@18.2.69)
+ '@types/react-virtualized':
+ specifier: ^9.22.0
+ version: 9.22.2
'@types/simple-oauth2':
specifier: ^5.0.7
version: 5.0.7
@@ -466,7 +502,7 @@ importers:
version: 18.3.1
react-email:
specifier: ^2.1.1
- version: 2.1.6(@opentelemetry/api@1.9.0)(@swc/helpers@0.5.2)(eslint@8.57.1)
+ version: 2.1.6(@opentelemetry/api@1.9.0)(@swc/helpers@0.5.17)(eslint@8.57.1)
resend:
specifier: ^3.2.0
version: 3.5.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
@@ -512,7 +548,7 @@ importers:
version: 6.0.1
tsup:
specifier: ^8.0.1
- version: 8.5.0(@swc/core@1.3.101(@swc/helpers@0.5.2))(jiti@2.4.2)(postcss@8.5.5)(typescript@5.8.3)(yaml@2.8.0)
+ version: 8.5.0(@swc/core@1.3.101(@swc/helpers@0.5.17))(jiti@2.4.2)(postcss@8.5.5)(typescript@5.8.3)(yaml@2.8.0)
typescript:
specifier: ^5.3.0
version: 5.8.3
@@ -889,6 +925,12 @@ packages:
resolution: {integrity: sha512-ETyHEk2VHHvl9b9jZP5IHPavHYk57EhanlRRuae9XCpb/j5bDCbPPMOBfCWhnl/7EDJz0jEMCi/RhccCE8r1+Q==}
engines: {node: '>=6.9.0'}
+ '@bugsnag/cuid@3.2.1':
+ resolution: {integrity: sha512-zpvN8xQ5rdRWakMd/BcVkdn2F8HKlDSbM3l7duueK590WmI1T0ObTLc1V/1e55r14WNjPd5AJTYX4yPEAFVi+Q==}
+
+ '@cfcs/core@0.0.6':
+ resolution: {integrity: sha512-FxfJMwoLB8MEMConeXUCqtMGqxdtePQxRBOiGip9ULcYYam3WfCgoY6xdnMaSkYvRvmosp5iuG+TiPofm65+Pw==}
+
'@changesets/apply-release-plan@6.1.4':
resolution: {integrity: sha512-FMpKF1fRlJyCZVYHr3CbinpZZ+6MwvOtWUuO8uo+svcATEoc1zRDcj23pAurJ2TZ/uVz1wFHH6K3NlACy0PLew==}
@@ -961,10 +1003,25 @@ packages:
'@conform-to/dom': 0.6.3
zod: ^3.21.0
+ '@daybrush/utils@1.13.0':
+ resolution: {integrity: sha512-ALK12C6SQNNHw1enXK+UO8bdyQ+jaWNQ1Af7Z3FNxeAwjYhQT7do+TRE4RASAJ3ObaS2+TJ7TXR3oz2Gzbw0PQ==}
+
'@edgefirst-dev/data@0.0.4':
resolution: {integrity: sha512-VLhlvEPDJ0Sd0pE6sAYTQkIqZCXVonaWlgRJIQQHzfjTXCadF77qqHj5NxaPSc4wCul0DJO/0MnejVqJAXUiRg==}
engines: {node: '>=20.0.0'}
+ '@egjs/agent@2.4.4':
+ resolution: {integrity: sha512-cvAPSlUILhBBOakn2krdPnOGv5hAZq92f1YHxYcfu0p7uarix2C6Ia3AVizpS1SGRZGiEkIS5E+IVTLg1I2Iog==}
+
+ '@egjs/children-differ@1.0.1':
+ resolution: {integrity: sha512-DRvyqMf+CPCOzAopQKHtW+X8iN6Hy6SFol+/7zCUiE5y4P/OB8JP8FtU4NxtZwtafvSL4faD5KoQYPj3JHzPFQ==}
+
+ '@egjs/component@3.0.5':
+ resolution: {integrity: sha512-cLcGizTrrUNA2EYE3MBmEDt2tQv1joVP1Q3oDisZ5nw0MZDx2kcgEXM+/kZpfa/PAkFvYVhRUZwytIQWoN3V/w==}
+
+ '@egjs/list-differ@1.0.1':
+ resolution: {integrity: sha512-OTFTDQcWS+1ZREOdCWuk5hCBgYO4OsD30lXcOCyVOAjXMhgL5rBRDnt/otb6Nz8CzU0L/igdcaQBDLWc4t9gvg==}
+
'@electric-sql/client@1.0.0-beta.1':
resolution: {integrity: sha512-Ei9jN3pDoGzc+a/bGqnB5ajb52IvSv7/n2btuyzUlcOHIR2kM9fqtYTJXPwZYKLkGZlHWlpHgWyRtrinkP2nHg==}
@@ -1840,6 +1897,12 @@ packages:
peerDependencies:
'@opentelemetry/api': '>=1.0.0 <1.10.0'
+ '@opentelemetry/core@1.30.1':
+ resolution: {integrity: sha512-OOCM2C/QIURhJMuKaekP3TRBxBKxG/TWWA0TL2J6nXUtDnuCtccy49LUJF8xPFXMX+0LMcxFpCo8M9cGY1W6rQ==}
+ engines: {node: '>=14'}
+ peerDependencies:
+ '@opentelemetry/api': '>=1.0.0 <1.10.0'
+
'@opentelemetry/exporter-logs-otlp-http@0.52.1':
resolution: {integrity: sha512-qKgywId2DbdowPZpOBXQKp0B8DfhfIArmSic15z13Nk/JAOccBUQdPwDjDnjsM5f0ckZFMVR2t/tijTUAqDZoA==}
engines: {node: '>=14'}
@@ -1946,6 +2009,10 @@ packages:
resolution: {integrity: sha512-ZDjMJJQRlyk8A1KZFCc+bCbsyrn1wTwdNt56F7twdfUfnHUZUq77/WfONCj8p72NZOyP7pNTdUWSTYC3GTbuuQ==}
engines: {node: '>=14'}
+ '@opentelemetry/semantic-conventions@1.28.0':
+ resolution: {integrity: sha512-lp4qAiMTD4sNWW4DbKLBkfiMZ4jbAboJIGOQr5DvciMRI494OapieI9qiODpOt0XBr1LjIDy1xAGAnVs5supTA==}
+ engines: {node: '>=14'}
+
'@oslojs/asn1@1.0.0':
resolution: {integrity: sha512-zw/wn0sj0j0QKbIXfIlnEcTviaCzYOY3V5rAyjR6YtOByFtJiT574+8p9Wlach0lZH9fddD4yb9laEAIl4vXQA==}
@@ -1968,6 +2035,9 @@ packages:
resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
engines: {node: '>=14'}
+ '@popperjs/core@2.11.8':
+ resolution: {integrity: sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==}
+
'@prisma/client@5.4.1':
resolution: {integrity: sha512-xyD0DJ3gRNfLbPsC+YfMBBuLJtZKQfy1OD2qU/PZg+HKrr7SO+09174LMeTlWP0YF2wca9LxtVd4HnAiB5ketQ==}
engines: {node: '>=16.13'}
@@ -2972,6 +3042,9 @@ packages:
peerDependencies:
react: 18.2.0
+ '@remirror/core-constants@3.0.0':
+ resolution: {integrity: sha512-42aWfPrimMfDKDi4YegyS7x+/0tlzaqwPQCULLanv3DMIlu96KTJR0fM5isWX2UViOqlGnX6YFgqWepcX+XMNg==}
+
'@remix-run/changelog-github@0.0.5':
resolution: {integrity: sha512-43tqwUqWqirbv6D9uzo55ASPsCJ61Ein1k/M8qn+Qpros0MmbmuzjLVPmtaxfxfe2ANX0LefLvCD0pAgr1tp4g==}
@@ -3248,6 +3321,15 @@ packages:
'@rushstack/eslint-patch@1.11.0':
resolution: {integrity: sha512-zxnHvoMQVqewTJr/W4pKjF0bMGiKJv1WX7bSrkl46Hg0QjESbzBROWK0Wg4RphzSOS5Jiy7eFimmM3UgMrMZbQ==}
+ '@scena/dragscroll@1.4.0':
+ resolution: {integrity: sha512-3O8daaZD9VXA9CP3dra6xcgt/qrm0mg0xJCwiX6druCteQ9FFsXffkF8PrqxY4Z4VJ58fFKEa0RlKqbsi/XnRA==}
+
+ '@scena/event-emitter@1.0.5':
+ resolution: {integrity: sha512-AzY4OTb0+7ynefmWFQ6hxDdk0CySAq/D4efljfhtRHCOP7MBF9zUfhKG3TJiroVjASqVgkRJFdenS8ArZo6Olg==}
+
+ '@scena/matrix@1.1.1':
+ resolution: {integrity: sha512-JVKBhN0tm2Srl+Yt+Ywqu0oLgLcdemDQlD1OxmN9jaCTwaFPZ7tY8n6dhVgMEaR9qcR7r+kAlMXnSfNyYdE+Vg==}
+
'@sec-ant/readable-stream@0.4.1':
resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==}
@@ -3514,6 +3596,9 @@ packages:
'@swc/counter@0.1.3':
resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==}
+ '@swc/helpers@0.5.17':
+ resolution: {integrity: sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==}
+
'@swc/helpers@0.5.2':
resolution: {integrity: sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==}
@@ -3643,19 +3728,231 @@ packages:
resolution: {integrity: sha512-/DiOQ5xBxgdYRC8LNk7U+RWat0S3qRLeIw3ZIkMQ9kkVlRmwD/Eg8k8CqIpD6GW7u20JIUOfMKbxtiLutpjQ4g==}
engines: {node: '>=12'}
- '@trigger.dev/build@3.3.17':
- resolution: {integrity: sha512-dfreMuVeLAcZypS3kkUA9nWNviiuOPIQ3ldy2ywPCmwmbHyd0BE8tI5D3A4kmVq/f53TdRMls4c+cYafxlwubQ==}
+ '@tiptap/core@2.25.0':
+ resolution: {integrity: sha512-pTLV0+g+SBL49/Y5A9ii7oHwlzIzpgroJVI3AcBk7/SeR7554ZzjxxtJmZkQ9/NxJO+k1jQp9grXaqqOLqC7cA==}
+ peerDependencies:
+ '@tiptap/pm': ^2.7.0
+
+ '@tiptap/extension-blockquote@2.25.0':
+ resolution: {integrity: sha512-W+sVPlV9XmaNPUkxV2BinNEbk2hr4zw8VgKjqKQS9O0k2YIVRCfQch+4DudSAwBVMrVW97zVAKRNfictGFQ8vQ==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+
+ '@tiptap/extension-bold@2.25.0':
+ resolution: {integrity: sha512-3cBX2EtdFR3+EDTkIshhpQpXoZQbFUzxf6u86Qm0qD49JnVOjX9iexnUp8MydXPZA6NVsKeEfMhf18gV7oxTEw==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+
+ '@tiptap/extension-bubble-menu@2.25.0':
+ resolution: {integrity: sha512-BnbfQWRXJDDy9/x/0Atu2Nka5ZAMyXLDFqzSLMAXqXSQcG6CZRTSNRgOCnjpda6Hq2yCtq7l/YEoXkbHT1ZZdQ==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+ '@tiptap/pm': ^2.7.0
+
+ '@tiptap/extension-bullet-list@2.25.0':
+ resolution: {integrity: sha512-KD+q/q6KIU2anedjtjG8vELkL5rYFdNHWc5XcUJgQoxbOCK3/sBuOgcn9mnFA2eAS6UkraN9Yx0BXEDbXX2HOw==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+
+ '@tiptap/extension-character-count@2.25.0':
+ resolution: {integrity: sha512-F+4DxJFptbX3oioqNwS38zOTi6gH9CumV/ISeOIvr4ao7Iija3tNonGDsHhxD05njjbYNIp1OKsxtnzbWukgMA==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+ '@tiptap/pm': ^2.7.0
+
+ '@tiptap/extension-code-block-lowlight@2.25.0':
+ resolution: {integrity: sha512-RunmpexQ+sYNmQbBdjQq/6s1aYYx7lQxOzPO5Q64qx5FjVbekZkQI9c98jv4v0ez7qjRLZBcyG2ETD3bQuHs4Q==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+ '@tiptap/extension-code-block': ^2.7.0
+ '@tiptap/pm': ^2.7.0
+ highlight.js: ^11
+ lowlight: ^2 || ^3
+
+ '@tiptap/extension-code-block@2.25.0':
+ resolution: {integrity: sha512-T4kXbZNZ/NyklzQ/FWmUnjD4hgmJPrIBazzCZ/E/rF/Ag2IvUsztBT0PN3vTa+DAZ+IbM61TjlIpyJs1R7OdbQ==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+ '@tiptap/pm': ^2.7.0
+
+ '@tiptap/extension-code@2.25.0':
+ resolution: {integrity: sha512-rRp6X2aNNnvo7Fbqc3olZ0vLb52FlCPPfetr9gy6/M9uQdVYDhJcFOPuRuXtZ8M8X+WpCZBV29BvZFeDqfw8bw==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+
+ '@tiptap/extension-color@2.25.0':
+ resolution: {integrity: sha512-jZh7X71Kd8TVU/lexbosyeBseOj2jzxQ5/7DV/L6E2SHsXX9rIOeY61kf4xRqoQm5Z9t2vy8GzNGXhhNACd66w==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+ '@tiptap/extension-text-style': ^2.7.0
+
+ '@tiptap/extension-document@2.25.0':
+ resolution: {integrity: sha512-3gEZlQKUSIRrC6Az8QS7SJi4CvhMWrA7RBChM1aRl9vMNN8Ul7dZZk5StYJGPjL/koTiceMqx9pNmTCBprsbvQ==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+
+ '@tiptap/extension-dropcursor@2.25.0':
+ resolution: {integrity: sha512-eSHqp+iUI2mGVwvIyENP02hi5TSyQ+bdwNwIck6bdzjRvXakm72+8uPfVSLGxRKAQZ0RFtmux8ISazgUqF/oSw==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+ '@tiptap/pm': ^2.7.0
+
+ '@tiptap/extension-floating-menu@2.25.0':
+ resolution: {integrity: sha512-hPZ5SNpI14smTz4GpWQXTnxmeICINYiABSgXcsU5V66tik9OtxKwoCSR/gpU35esaAFUVRdjW7+sGkACLZD5AQ==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+ '@tiptap/pm': ^2.7.0
+
+ '@tiptap/extension-gapcursor@2.25.0':
+ resolution: {integrity: sha512-s/3WDbgkvLac88h5iYJLPJCDw8tMhlss1hk9GAo+zzP4h0xfazYie09KrA0CBdfaSOFyeJK3wedzjKZBtdgX4w==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+ '@tiptap/pm': ^2.7.0
+
+ '@tiptap/extension-hard-break@2.25.0':
+ resolution: {integrity: sha512-h8be5Zdtsl5GQHxRXvYlGfIJsLvdbexflSTr12gr4kvcQqTdtrsqyu2eksfAK+p2szbiwP2G4VZlH0LNS47UXQ==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+
+ '@tiptap/extension-heading@2.25.0':
+ resolution: {integrity: sha512-IrRKRRr7Bhpnq5aue1v5/e5N/eNdVV/THsgqqpLZO48pgN8Wv+TweOZe1Ntg/v8L4QSBC8iGMxxhiJZT8AzSkA==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+
+ '@tiptap/extension-highlight@2.25.0':
+ resolution: {integrity: sha512-YuDZUFTil06wmuIMod1z2zbLGIwDwcoRV21f2wZBl3SryzppX/B1S1fGgLdnOo4M8ryykSKxWdpjMSOYCAdsjA==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+
+ '@tiptap/extension-history@2.25.0':
+ resolution: {integrity: sha512-y3uJkJv+UngDaDYfcVJ4kx8ivc3Etk5ow6N+47AMCRjUUweQ/CLiJwJ2C7nL7L82zOzVbb/NoR/B3UeE4ts/wQ==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+ '@tiptap/pm': ^2.7.0
+
+ '@tiptap/extension-horizontal-rule@2.25.0':
+ resolution: {integrity: sha512-bZovyhdOexB3Cv9ddUogWT+cd3KbnenMIZKhgrJ+R0J27rlOtzeUD9TeIjn4V8Of9mTxm3XDKUZGLgPiriN8Ww==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+ '@tiptap/pm': ^2.7.0
+
+ '@tiptap/extension-image@2.25.0':
+ resolution: {integrity: sha512-+EJVxt61LzSK/2iaZLp8UN/jY4eohfn4SloJ1jHEobf4+XA6LwusXItQzQiJfaAL7kjrUih2RcCkOWa0BpLFLA==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+
+ '@tiptap/extension-italic@2.25.0':
+ resolution: {integrity: sha512-FZHmNqvWJ5SHYlUi+Qg3b2C0ZBt82DUDUqM+bqcQqSQu6B0c4IEc3+VHhjAJwEUIO9wX7xk/PsdM4Z5Ex4Lr3w==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+
+ '@tiptap/extension-link@2.25.0':
+ resolution: {integrity: sha512-jNd+1Fd7wiIbxlS51weBzyDtBEBSVzW0cgzdwOzBYQtPJueRyXNNVERksyinDuVgcfvEWgmNZUylgzu7mehnEg==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+ '@tiptap/pm': ^2.7.0
+
+ '@tiptap/extension-list-item@2.25.0':
+ resolution: {integrity: sha512-HLstO/R+dNjIFMXN15bANc8i/+CDpEgtEQhZNHqvSUJH9xQ5op0S05m5VvFI10qnwXNjwwXdhxUYwwjIDCiAgg==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+
+ '@tiptap/extension-ordered-list@2.25.0':
+ resolution: {integrity: sha512-Hlid16nQdDFOGOx6mJT+zPEae2t1dGlJ18pqCqaVMuDnIpNIWmQutJk5QYxGVxr9awd2SpHTpQtdBTqcufbHtw==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+
+ '@tiptap/extension-paragraph@2.25.0':
+ resolution: {integrity: sha512-53gpWMPedkWVDp3u/1sLt6vnr3BWz4vArGCmmabLucCI2Yl4R6S/AQ9yj/+jOHvWbXCroCbKtmmwxJl32uGN2w==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+
+ '@tiptap/extension-placeholder@2.25.0':
+ resolution: {integrity: sha512-BUJnp/WQt/8iMJ9wn1xGlA+RiXCsP24u5n+ecxw+DBTgFq7RRL9I1nDQ/IJBrfWMJGOrMEq6tg8rmg1NVLGfWw==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+ '@tiptap/pm': ^2.7.0
+
+ '@tiptap/extension-strike@2.25.0':
+ resolution: {integrity: sha512-Z5YBKnv4N6MMD1LEo9XbmWnmdXavZKOOJt/OkXYFZ3KgzB52Z3q3DDfH+NyeCtKKSWqWVxbBHKLnsojDerSf2g==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+
+ '@tiptap/extension-task-item@2.25.0':
+ resolution: {integrity: sha512-8F7Z7jbsyGrPLHQCn+n39zdqIgxwR1kJ1nL5ZwhEW3ZhJgkFF0WMJSv36mwIJwL08p8um/c6g72AYB/e8CD7eA==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+ '@tiptap/pm': ^2.7.0
+
+ '@tiptap/extension-task-list@2.25.0':
+ resolution: {integrity: sha512-2mASqp8MJ0dyc1OK6c8P7m/zwoVDv8PV+XsRR9O3tpIz/zjUVrOl0W4IndjUPBMa7cpJX8fGj8iC3DaRNpSMcg==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+
+ '@tiptap/extension-text-style@2.25.0':
+ resolution: {integrity: sha512-MKAXqDATEbuFEB1SeeAFy2VbefUMJ9jxQyybpaHjDX+Ik0Ddu+aYuJP/njvLuejXCqhrkS/AorxzmHUC4HNPbQ==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+
+ '@tiptap/extension-text@2.25.0':
+ resolution: {integrity: sha512-HlZL86rihpP/R8+dqRrvzSRmiPpx6ctlAKM9PnWT/WRMeI4Y1AUq6PSHLz74wtYO1LH4PXys1ws3n+pLP4Mo6g==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+
+ '@tiptap/extension-underline@2.25.0':
+ resolution: {integrity: sha512-RqXkWSMJyllfsDukugDzWEZfWRUOgcqzuMWC40BnuDUs4KgdRA0nhVUWJbLfUEmXI0UVqN5OwYTTAdhaiF7kjQ==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+
+ '@tiptap/extension-youtube@2.25.0':
+ resolution: {integrity: sha512-jVeBHhJZQ7upMMio/jVR/MisD0Xc0pOzMWMw8/82s6Dwkp9F5xRQXpofoYW2UlfAt9FwxyxdwJ6s9vZEyiyOkw==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+
+ '@tiptap/pm@2.25.0':
+ resolution: {integrity: sha512-vuzU0pLGQyHqtikAssHn9V61aXLSQERQtn3MUtaJ36fScQg7RClAK5gnIbBt3Ul3VFof8o4xYmcidARc0X/E5A==}
+
+ '@tiptap/react@2.25.0':
+ resolution: {integrity: sha512-Fc7uj/+goEhvJkH2vYJxXLH1GsUkOcsIR3kUyL0vejNRvpzzd87CI/EiSD2ESJO43czQcsJkiYzY4EC+p8NF9w==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+ '@tiptap/pm': ^2.7.0
+ react: ^17.0.0 || ^18.0.0 || ^19.0.0
+ react-dom: ^17.0.0 || ^18.0.0 || ^19.0.0
+
+ '@tiptap/starter-kit@2.11.9':
+ resolution: {integrity: sha512-UUx5t1PrwR+KVOjTkmGC1duOq6Ubz/fsetI1OieyegMT/2J1wkFFP1w3NFZarj5jo0GLBt3GMlBwS9GY8cJUxQ==}
+
+ '@tiptap/suggestion@2.25.0':
+ resolution: {integrity: sha512-ykMwdyaHzqIg+jMI/zZ4TOjVxYkwVG7H6BD3gV9gV5tyRpedsKbvppm3aUlnMWC/OmDqQhlSD8iT8Vo3UWX2oQ==}
+ peerDependencies:
+ '@tiptap/core': ^2.7.0
+ '@tiptap/pm': ^2.7.0
+
+ '@trigger.dev/build@4.0.0-v4-beta.22':
+ resolution: {integrity: sha512-W+SfA7soXzD7f2GQQL2Q4x3+JQkJijcVjgKpNuwPdZcgI++YpJkPzJ5RlT98flErU8ZvuiL26SAur2tvObrZgA==}
engines: {node: '>=18.20.0'}
- '@trigger.dev/core@3.3.17':
- resolution: {integrity: sha512-KjnRxCuHq4R+MnE0zPvIQ7EIz4QSpJL+1Yn74n2cCGjyHYgQ/g8rcARn0Nxf2s8jzE38CnyRufjUrwG8k+DJrw==}
+ '@trigger.dev/core@4.0.0-v4-beta.22':
+ resolution: {integrity: sha512-FVaVNsW3KQgYEWStr80Iu+1l4KMyHPVU4QbV55pLQp7d126jOuP+hXYp7LhnYVZtgcQLIZSC0VjJc/UYwr4D6g==}
engines: {node: '>=18.20.0'}
- '@trigger.dev/sdk@3.3.17':
- resolution: {integrity: sha512-wjIjlQWKybYWw/J7LxFIOO1pXzxXoj9lxbFMvjb51JtfebxnQnh6aExN47nOGhVhV38wHYstfBI/8ClWwBnFYw==}
+ '@trigger.dev/react-hooks@4.0.0-v4-beta.22':
+ resolution: {integrity: sha512-hWBoxEkNSM+IcFsUlFEJBcMZGmpaYGPy5k/o+iK9QNLURiQsKEYGYoBzKlA7iP0cVPwhIV1eNlsPediNRQyTsA==}
engines: {node: '>=18.20.0'}
peerDependencies:
+ react: ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^18.0 || ^19.0 || ^19.0.0-rc
+
+ '@trigger.dev/sdk@4.0.0-v4-beta.22':
+ resolution: {integrity: sha512-yRv9G/KODpItU16Iv6gCfLQ2SjhGq443zTlYKY3XZf4HHIuByOhkOKYPRpl82FmJprL8DxnT7V0pma4kfHBzPQ==}
+ engines: {node: '>=18.20.0'}
+ peerDependencies:
+ ai: ^4.2.0
zod: ^3.0.0
+ peerDependenciesMeta:
+ ai:
+ optional: true
'@tybys/wasm-util@0.9.0':
resolution: {integrity: sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==}
@@ -3813,6 +4110,9 @@ packages:
'@types/hast@2.3.10':
resolution: {integrity: sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==}
+ '@types/hast@3.0.4':
+ resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==}
+
'@types/http-errors@2.0.5':
resolution: {integrity: sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==}
@@ -3825,9 +4125,21 @@ packages:
'@types/json5@0.0.29':
resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==}
+ '@types/linkify-it@5.0.0':
+ resolution: {integrity: sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==}
+
+ '@types/markdown-it@14.1.2':
+ resolution: {integrity: sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog==}
+
'@types/mdast@3.0.15':
resolution: {integrity: sha512-LnwD+mUEfxWMa1QpDraczIn6k0Ee3SMicuYSSzS6ZYl2gKS09EClnJYGd8Du6rfc5r/GZEk5o1mRb8TaTj03sQ==}
+ '@types/mdast@4.0.4':
+ resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==}
+
+ '@types/mdurl@2.0.0':
+ resolution: {integrity: sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==}
+
'@types/mdx@2.0.13':
resolution: {integrity: sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==}
@@ -3849,6 +4161,9 @@ packages:
'@types/node@18.19.115':
resolution: {integrity: sha512-kNrFiTgG4a9JAn1LMQeLOv3MvXIPokzXziohMrMsvpYgLpdEt/mMiVYc4sGKtDfyxM5gIDF4VgrPRyCw4fHOYg==}
+ '@types/node@22.16.0':
+ resolution: {integrity: sha512-B2egV9wALML1JCpv3VQoQ+yesQKAmNMBIAY7OteVrikcOcAkWm+dGL6qpeCktPjAv6N1JLnhbNiqS35UpFyBsQ==}
+
'@types/node@24.0.0':
resolution: {integrity: sha512-yZQa2zm87aRVcqDyH5+4Hv9KYgSdgwX1rFnGvpbzMaC7YAljmhBET93TPiTd3ObwTL+gSpIzPKg5BqVxdCvxKg==}
@@ -3875,6 +4190,9 @@ packages:
peerDependencies:
'@types/react': ^18.0.0
+ '@types/react-virtualized@9.22.2':
+ resolution: {integrity: sha512-0Eg/ME3OHYWGxs+/n4VelfYrhXssireZaa1Uqj5SEkTpSaBu5ctFGOCVxcOqpGXRiEdrk/7uho9tlZaryCIjHA==}
+
'@types/react@18.2.47':
resolution: {integrity: sha512-xquNkkOirwyCgoClNk85BjP+aqnIS+ckAJ8i37gAbDs14jfW/J23f2GItAf33oiUPQnqNMALiFeoM9Y5mbjpVQ==}
@@ -3905,6 +4223,12 @@ packages:
'@types/unist@2.0.11':
resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==}
+ '@types/unist@3.0.3':
+ resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==}
+
+ '@types/use-sync-external-store@0.0.6':
+ resolution: {integrity: sha512-zFDAD+tlpf2r4asuHEj0XH6pY6i0g5NeAHPn+15wk3BV6JA69eERFXC1gyGThDkVa1zCyKr5jox1+2LbV/AMLg==}
+
'@types/uuid@9.0.8':
resolution: {integrity: sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==}
@@ -4277,10 +4601,6 @@ packages:
resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==}
engines: {node: '>=6'}
- ansi-escapes@5.0.0:
- resolution: {integrity: sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==}
- engines: {node: '>=12'}
-
ansi-regex@5.0.1:
resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
engines: {node: '>=8'}
@@ -4454,6 +4774,9 @@ packages:
resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==}
engines: {node: '>=8'}
+ bintrees@1.0.2:
+ resolution: {integrity: sha512-VOMgTMwjAaUG580SXn3LacVgjurrbMme7ZZNYGSSV7mmtY6QQRh0Eg3pwIcntQ77DErK1L0NxkbetjcoXzVwKw==}
+
bl@4.1.0:
resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==}
@@ -4673,6 +4996,12 @@ packages:
resolution: {integrity: sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==}
engines: {node: '>=0.10.0'}
+ cmdk@1.1.1:
+ resolution: {integrity: sha512-Vsv7kFaXm+ptHDMZ7izaRsP70GgrW9NBNGswt9OZaVBLlE0SNpDq8eu/VGXyF9r7M0azK3Wy7OlYXsuyYLFzHg==}
+ peerDependencies:
+ react: ^18 || ^19 || ^19.0.0-rc
+ react-dom: ^18 || ^19 || ^19.0.0-rc
+
color-convert@1.9.3:
resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
@@ -4722,6 +5051,10 @@ packages:
resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==}
engines: {node: '>= 10'}
+ commander@8.3.0:
+ resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==}
+ engines: {node: '>= 12'}
+
compressible@2.0.18:
resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==}
engines: {node: '>= 0.6'}
@@ -4803,6 +5136,9 @@ packages:
typescript:
optional: true
+ crelt@1.0.6:
+ resolution: {integrity: sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==}
+
cron-parser@4.9.0:
resolution: {integrity: sha512-p0SaNjrHOnQeR8/VnfGbmg9te2kfyYSQ7Sc/j/6DtPL3JQvKxmjO9TSjNFpujqV3vEYYBvNNvXSxzyksBWAx1Q==}
engines: {node: '>=12.0.0'}
@@ -4842,6 +5178,12 @@ packages:
webpack:
optional: true
+ css-styled@1.0.8:
+ resolution: {integrity: sha512-tCpP7kLRI8dI95rCh3Syl7I+v7PP+2JYOzWkl0bUEoSbJM+u8ITbutjlQVf0NC2/g4ULROJPi16sfwDIO8/84g==}
+
+ css-to-mat@1.1.1:
+ resolution: {integrity: sha512-kvpxFYZb27jRd2vium35G7q5XZ2WJ9rWjDUMNT36M3Hc41qCrLXFM5iEKMGXcrPsKfXEN+8l/riB4QzwwwiEyQ==}
+
css-unit-converter@1.1.2:
resolution: {integrity: sha512-IiJwMC8rdZE0+xiEZHeru6YoONC4rfPMqGm2W85jMIbkFvv5nFTwJVFHam2eFrN6txmoUYFAFXiv8ICVeTO0MA==}
@@ -5149,6 +5491,9 @@ packages:
engines: {node: '>=0.8.0'}
hasBin: true
+ devlop@1.1.0:
+ resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==}
+
didyoumean@1.2.2:
resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
@@ -5566,6 +5911,9 @@ packages:
estree-util-is-identifier-name@2.1.0:
resolution: {integrity: sha512-bEN9VHRyXAUOjkKVQVvArFym08BTWB0aJPppZZr0UNyAqWsLaVfAqP7hbaTJjzHifmB5ebnR8Wm7r7yGN/HonQ==}
+ estree-util-is-identifier-name@3.0.0:
+ resolution: {integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==}
+
estree-util-to-js@1.2.0:
resolution: {integrity: sha512-IzU74r1PK5IMMGZXUVZbmiu4A1uhiPgW5hm1GjcOfr4ZzHaMPpLNJjR7HjXiIOzi25nZDrgFTobHTkV5Q6ITjA==}
@@ -5669,6 +6017,9 @@ packages:
fast-levenshtein@2.0.6:
resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
+ fast-sort@3.4.1:
+ resolution: {integrity: sha512-76uvGPsF6So53sZAqenP9UVT3p5l7cyTHkLWVCMinh41Y8NDrK1IYXJgaBMfc1gk7nJiSRZp676kddFG2Aa5+A==}
+
fast-uri@3.0.6:
resolution: {integrity: sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==}
@@ -5777,6 +6128,9 @@ packages:
react-dom:
optional: true
+ framework-utils@1.1.0:
+ resolution: {integrity: sha512-KAfqli5PwpFJ8o3psRNs8svpMGyCSAe8nmGcjQ0zZBWN2H6dZDnq+ABp3N3hdUmFeMrLtjOCTXD4yplUJIWceg==}
+
fresh@0.5.2:
resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==}
engines: {node: '>= 0.6'}
@@ -5833,6 +6187,9 @@ packages:
resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
engines: {node: '>=6.9.0'}
+ gesto@1.19.4:
+ resolution: {integrity: sha512-hfr/0dWwh0Bnbb88s3QVJd1ZRJeOWcgHPPwmiH6NnafDYvhTsxg+SLYu+q/oPNh9JS3V+nlr6fNs8kvPAtcRDQ==}
+
get-caller-file@2.0.5:
resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
engines: {node: 6.* || 8.* || >= 10.*}
@@ -6008,9 +6365,19 @@ packages:
hast-util-to-estree@2.3.3:
resolution: {integrity: sha512-ihhPIUPxN0v0w6M5+IiAZZrn0LH2uZomeWwhn7uP7avZC6TE7lIiEh2yBMPr5+zi1aUCXq6VoYRgs2Bw9xmycQ==}
+ hast-util-to-jsx-runtime@2.3.6:
+ resolution: {integrity: sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==}
+
hast-util-whitespace@2.0.1:
resolution: {integrity: sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==}
+ hast-util-whitespace@3.0.0:
+ resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==}
+
+ highlight.js@11.11.1:
+ resolution: {integrity: sha512-Xwwo44whKBVCYoliBQwaPvtd/2tYFkRQtXDWj1nackaV2JPXx3L0+Jvd8/qCJ2p+ML0/XVkJ2q+Mr+UVdpJK5w==}
+ engines: {node: '>=12.0.0'}
+
hosted-git-info@2.8.9:
resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==}
@@ -6026,6 +6393,9 @@ packages:
resolution: {integrity: sha512-qY60FjREgVZL03vJU6IfMV4GDjGBIoOyvuFdpBDIX9yTlDw0TjxVBQp+P8NvpdIXNJvfWBTNul7fsAQJq2FNpg==}
engines: {node: '>=14'}
+ html-url-attributes@3.0.1:
+ resolution: {integrity: sha512-ol6UPyBWqsrO6EJySPz2O7ZSr856WDrEzM5zMqp+FJJLGMW35cLYmmZnl0vztAZxRUoNZJFTCohfjuIJ8I4QBQ==}
+
htmlparser2@8.0.2:
resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==}
@@ -6100,6 +6470,9 @@ packages:
inline-style-parser@0.1.1:
resolution: {integrity: sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==}
+ inline-style-parser@0.2.4:
+ resolution: {integrity: sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==}
+
internal-slot@1.1.0:
resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==}
engines: {node: '>= 0.4'}
@@ -6371,6 +6744,18 @@ packages:
jose@5.10.0:
resolution: {integrity: sha512-s+3Al/p9g32Iq+oqXxkW//7jk2Vig6FF1CFqzVXoTUXt2qz89YWbL+OwS17NFYEvxC35n0FKeGO2LGYSxeM2Gg==}
+ jotai@2.12.5:
+ resolution: {integrity: sha512-G8m32HW3lSmcz/4mbqx0hgJIQ0ekndKWiYP7kWVKi0p6saLXdSoye+FZiOFyonnd7Q482LCzm8sMDl7Ar1NWDw==}
+ engines: {node: '>=12.20.0'}
+ peerDependencies:
+ '@types/react': '>=17.0.0'
+ react: '>=17.0.0'
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ react:
+ optional: true
+
joycon@3.1.1:
resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==}
engines: {node: '>=10'}
@@ -6449,6 +6834,16 @@ packages:
resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==}
engines: {node: '>=4.0'}
+ katex@0.16.22:
+ resolution: {integrity: sha512-XCHRdUw4lf3SKBaJe4EvgqIuWwkPSo9XoeO8GjQW94Bp7TWv9hNhzZjZ+OH9yf1UmLygb7DIT5GSFQiyt16zYg==}
+ hasBin: true
+
+ keycode@2.2.1:
+ resolution: {integrity: sha512-Rdgz9Hl9Iv4QKi8b0OlCRQEzp4AgVxyCtz5S/+VIHezDmrDhkp2N2TqBWOLz0/gbeREXOOiI9/4b8BY9uw2vFg==}
+
+ keycon@1.4.0:
+ resolution: {integrity: sha512-p1NAIxiRMH3jYfTeXRs2uWbVJ1WpEjpi8ktzUyBJsX7/wn2qu2VRXktneBLNtKNxJmlUYxRi9gOJt1DuthXR7A==}
+
keyv@4.5.4:
resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
@@ -6552,6 +6947,12 @@ packages:
lines-and-columns@1.2.4:
resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
+ linkify-it@5.0.0:
+ resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==}
+
+ linkifyjs@4.3.1:
+ resolution: {integrity: sha512-DRSlB9DKVW04c4SUdGvKK5FR6be45lTU9M76JnngqPeeGDqPwYc0zdUErtsNVMtxPXgUWV4HbXbnC4sNyBxkYg==}
+
load-json-file@4.0.0:
resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==}
engines: {node: '>=4'}
@@ -6628,6 +7029,9 @@ packages:
resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
hasBin: true
+ lowlight@3.3.0:
+ resolution: {integrity: sha512-0JNhgFoPvP6U6lE/UdVsSq99tn6DhjjpAj5MxG49ewd2mOBVtwWYIT8ClyABhq198aXXODMU6Ox8DrGy/CpTZQ==}
+
lru-cache@10.4.3:
resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==}
@@ -6673,6 +7077,10 @@ packages:
resolution: {integrity: sha512-WWC0ZuMzCyDHYCasEGs4IPvLyTGftYwh6wIEOULOF0HXcqZlhwRzrK0w2VUlxWA98xnvb/jszw4ZSkJ6ADpM6Q==}
engines: {node: '>=0.10.0'}
+ markdown-it@14.1.0:
+ resolution: {integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==}
+ hasBin: true
+
marked@7.0.4:
resolution: {integrity: sha512-t8eP0dXRJMtMvBojtkcsA7n48BkauktUKzfkPSCq85ZMTJ0v76Rke4DYz01omYpPTUh4p/f7HePgRo3ebG8+QQ==}
engines: {node: '>= 16'}
@@ -6693,33 +7101,60 @@ packages:
mdast-util-from-markdown@1.3.1:
resolution: {integrity: sha512-4xTO/M8c82qBcnQc1tgpNtubGUW/Y1tBQ1B0i5CtSoelOLKFYlElIr3bvgREYYO5iRqbMY1YuqZng0GVOI8Qww==}
+ mdast-util-from-markdown@2.0.2:
+ resolution: {integrity: sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==}
+
mdast-util-frontmatter@1.0.1:
resolution: {integrity: sha512-JjA2OjxRqAa8wEG8hloD0uTU0kdn8kbtOWpPP94NBkfAlbxn4S8gCGf/9DwFtEeGPXrDcNXdiDjVaRdUFqYokw==}
mdast-util-mdx-expression@1.3.2:
resolution: {integrity: sha512-xIPmR5ReJDu/DHH1OoIT1HkuybIfRGYRywC+gJtI7qHjCJp/M9jrmBEJW22O8lskDWm562BX2W8TiAwRTb0rKA==}
+ mdast-util-mdx-expression@2.0.1:
+ resolution: {integrity: sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==}
+
mdast-util-mdx-jsx@2.1.4:
resolution: {integrity: sha512-DtMn9CmVhVzZx3f+optVDF8yFgQVt7FghCRNdlIaS3X5Bnym3hZwPbg/XW86vdpKjlc1PVj26SpnLGeJBXD3JA==}
+ mdast-util-mdx-jsx@3.2.0:
+ resolution: {integrity: sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==}
+
mdast-util-mdx@2.0.1:
resolution: {integrity: sha512-38w5y+r8nyKlGvNjSEqWrhG0w5PmnRA+wnBvm+ulYCct7nsGYhFVb0lljS9bQav4psDAS1eGkP2LMVcZBi/aqw==}
mdast-util-mdxjs-esm@1.3.1:
resolution: {integrity: sha512-SXqglS0HrEvSdUEfoXFtcg7DRl7S2cwOXc7jkuusG472Mmjag34DUDeOJUZtl+BVnyeO1frIgVpHlNRWc2gk/w==}
+ mdast-util-mdxjs-esm@2.0.1:
+ resolution: {integrity: sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==}
+
mdast-util-phrasing@3.0.1:
resolution: {integrity: sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg==}
+ mdast-util-phrasing@4.1.0:
+ resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==}
+
mdast-util-to-hast@12.3.0:
resolution: {integrity: sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==}
+ mdast-util-to-hast@13.2.0:
+ resolution: {integrity: sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==}
+
mdast-util-to-markdown@1.5.0:
resolution: {integrity: sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A==}
+ mdast-util-to-markdown@2.1.2:
+ resolution: {integrity: sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==}
+
mdast-util-to-string@3.2.0:
resolution: {integrity: sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==}
+ mdast-util-to-string@4.0.0:
+ resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==}
+
+ mdurl@2.0.0:
+ resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==}
+
media-query-parser@2.0.2:
resolution: {integrity: sha512-1N4qp+jE0pL5Xv4uEcwVUhIkwdUO3S/9gML90nqKA7v7FcOS5vUtatfzok9S9U1EJU8dHWlcv95WLnKmmxZI9w==}
@@ -6760,6 +7195,9 @@ packages:
micromark-core-commonmark@1.1.0:
resolution: {integrity: sha512-BgHO1aRbolh2hcrzL2d1La37V0Aoz73ymF8rAcKnohLy93titmv62E0gP8Hrx9PKcKrqCZ1BbLGbP3bEhoXYlw==}
+ micromark-core-commonmark@2.0.3:
+ resolution: {integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==}
+
micromark-extension-frontmatter@1.1.1:
resolution: {integrity: sha512-m2UH9a7n3W8VAH9JO9y01APpPKmNNNs71P0RbknEmYSaZU5Ghogv38BYO94AI5Xw6OYfxZRdHZZ2nYjs/Z+SZQ==}
@@ -6781,69 +7219,129 @@ packages:
micromark-factory-destination@1.1.0:
resolution: {integrity: sha512-XaNDROBgx9SgSChd69pjiGKbV+nfHGDPVYFs5dOoDd7ZnMAE+Cuu91BCpsY8RT2NP9vo/B8pds2VQNCLiu0zhg==}
+ micromark-factory-destination@2.0.1:
+ resolution: {integrity: sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==}
+
micromark-factory-label@1.1.0:
resolution: {integrity: sha512-OLtyez4vZo/1NjxGhcpDSbHQ+m0IIGnT8BoPamh+7jVlzLJBH98zzuCoUeMxvM6WsNeh8wx8cKvqLiPHEACn0w==}
+ micromark-factory-label@2.0.1:
+ resolution: {integrity: sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==}
+
micromark-factory-mdx-expression@1.0.9:
resolution: {integrity: sha512-jGIWzSmNfdnkJq05c7b0+Wv0Kfz3NJ3N4cBjnbO4zjXIlxJr+f8lk+5ZmwFvqdAbUy2q6B5rCY//g0QAAaXDWA==}
micromark-factory-space@1.1.0:
resolution: {integrity: sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==}
+ micromark-factory-space@2.0.1:
+ resolution: {integrity: sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==}
+
micromark-factory-title@1.1.0:
resolution: {integrity: sha512-J7n9R3vMmgjDOCY8NPw55jiyaQnH5kBdV2/UXCtZIpnHH3P6nHUKaH7XXEYuWwx/xUJcawa8plLBEjMPU24HzQ==}
+ micromark-factory-title@2.0.1:
+ resolution: {integrity: sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==}
+
micromark-factory-whitespace@1.1.0:
resolution: {integrity: sha512-v2WlmiymVSp5oMg+1Q0N1Lxmt6pMhIHD457whWM7/GUlEks1hI9xj5w3zbc4uuMKXGisksZk8DzP2UyGbGqNsQ==}
+ micromark-factory-whitespace@2.0.1:
+ resolution: {integrity: sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==}
+
micromark-util-character@1.2.0:
resolution: {integrity: sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==}
+ micromark-util-character@2.1.1:
+ resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==}
+
micromark-util-chunked@1.1.0:
resolution: {integrity: sha512-Ye01HXpkZPNcV6FiyoW2fGZDUw4Yc7vT0E9Sad83+bEDiCJ1uXu0S3mr8WLpsz3HaG3x2q0HM6CTuPdcZcluFQ==}
+ micromark-util-chunked@2.0.1:
+ resolution: {integrity: sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==}
+
micromark-util-classify-character@1.1.0:
resolution: {integrity: sha512-SL0wLxtKSnklKSUplok1WQFoGhUdWYKggKUiqhX+Swala+BtptGCu5iPRc+xvzJ4PXE/hwM3FNXsfEVgoZsWbw==}
+ micromark-util-classify-character@2.0.1:
+ resolution: {integrity: sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==}
+
micromark-util-combine-extensions@1.1.0:
resolution: {integrity: sha512-Q20sp4mfNf9yEqDL50WwuWZHUrCO4fEyeDCnMGmG5Pr0Cz15Uo7KBs6jq+dq0EgX4DPwwrh9m0X+zPV1ypFvUA==}
+ micromark-util-combine-extensions@2.0.1:
+ resolution: {integrity: sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==}
+
micromark-util-decode-numeric-character-reference@1.1.0:
resolution: {integrity: sha512-m9V0ExGv0jB1OT21mrWcuf4QhP46pH1KkfWy9ZEezqHKAxkj4mPCy3nIH1rkbdMlChLHX531eOrymlwyZIf2iw==}
+ micromark-util-decode-numeric-character-reference@2.0.2:
+ resolution: {integrity: sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==}
+
micromark-util-decode-string@1.1.0:
resolution: {integrity: sha512-YphLGCK8gM1tG1bd54azwyrQRjCFcmgj2S2GoJDNnh4vYtnL38JS8M4gpxzOPNyHdNEpheyWXCTnnTDY3N+NVQ==}
+ micromark-util-decode-string@2.0.1:
+ resolution: {integrity: sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==}
+
micromark-util-encode@1.1.0:
resolution: {integrity: sha512-EuEzTWSTAj9PA5GOAs992GzNh2dGQO52UvAbtSOMvXTxv3Criqb6IOzJUBCmEqrrXSblJIJBbFFv6zPxpreiJw==}
+ micromark-util-encode@2.0.1:
+ resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==}
+
micromark-util-events-to-acorn@1.2.3:
resolution: {integrity: sha512-ij4X7Wuc4fED6UoLWkmo0xJQhsktfNh1J0m8g4PbIMPlx+ek/4YdW5mvbye8z/aZvAPUoxgXHrwVlXAPKMRp1w==}
micromark-util-html-tag-name@1.2.0:
resolution: {integrity: sha512-VTQzcuQgFUD7yYztuQFKXT49KghjtETQ+Wv/zUjGSGBioZnkA4P1XXZPT1FHeJA6RwRXSF47yvJ1tsJdoxwO+Q==}
+ micromark-util-html-tag-name@2.0.1:
+ resolution: {integrity: sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==}
+
micromark-util-normalize-identifier@1.1.0:
resolution: {integrity: sha512-N+w5vhqrBihhjdpM8+5Xsxy71QWqGn7HYNUvch71iV2PM7+E3uWGox1Qp90loa1ephtCxG2ftRV/Conitc6P2Q==}
+ micromark-util-normalize-identifier@2.0.1:
+ resolution: {integrity: sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==}
+
micromark-util-resolve-all@1.1.0:
resolution: {integrity: sha512-b/G6BTMSg+bX+xVCshPTPyAu2tmA0E4X98NSR7eIbeC6ycCqCeE7wjfDIgzEbkzdEVJXRtOG4FbEm/uGbCRouA==}
+ micromark-util-resolve-all@2.0.1:
+ resolution: {integrity: sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==}
+
micromark-util-sanitize-uri@1.2.0:
resolution: {integrity: sha512-QO4GXv0XZfWey4pYFndLUKEAktKkG5kZTdUNaTAkzbuJxn2tNBOr+QtxR2XpWaMhbImT2dPzyLrPXLlPhph34A==}
+ micromark-util-sanitize-uri@2.0.1:
+ resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==}
+
micromark-util-subtokenize@1.1.0:
resolution: {integrity: sha512-kUQHyzRoxvZO2PuLzMt2P/dwVsTiivCK8icYTeR+3WgbuPqfHgPPy7nFKbeqRivBvn/3N3GBiNC+JRTMSxEC7A==}
+ micromark-util-subtokenize@2.1.0:
+ resolution: {integrity: sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==}
+
micromark-util-symbol@1.1.0:
resolution: {integrity: sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==}
+ micromark-util-symbol@2.0.1:
+ resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==}
+
micromark-util-types@1.1.0:
resolution: {integrity: sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==}
+ micromark-util-types@2.0.2:
+ resolution: {integrity: sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==}
+
micromark@3.2.0:
resolution: {integrity: sha512-uD66tJj54JLYq0De10AhWycZWGQNUvDI55xPgk2sQM5kn1JYlhbCMTtEeT27+vAhW2FBQxLlOmS3pmA7/2z4aA==}
+ micromark@4.0.2:
+ resolution: {integrity: sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==}
+
micromatch@4.0.8:
resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
engines: {node: '>=8.6'}
@@ -7115,6 +7613,11 @@ packages:
normalize.css@8.0.1:
resolution: {integrity: sha512-qizSNPO93t1YUuUhP22btGOo3chcvDFqFaj2TRybP0DMxkHOCTYwp3n34fel4a31ORXy4m1Xq0Gyqpb5m33qIg==}
+ novel@1.0.2:
+ resolution: {integrity: sha512-lyMtoBsRCqgrQaNhlc8Ngpp+npJEQjPoGBLcnYlEr8mEf+lXZV7/m6CbEpGRfma+HZQVlU3YJOs4gCmzbLG+ow==}
+ peerDependencies:
+ react: '>=18'
+
npm-install-checks@6.3.0:
resolution: {integrity: sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
@@ -7235,6 +7738,9 @@ packages:
resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==}
engines: {node: '>=10'}
+ orderedmap@2.1.1:
+ resolution: {integrity: sha512-TvAWxi0nDe1j/rtMcWcIj94+Ffe6n7zhow33h40SKxmsmozs6dz/e+EajymfoFcHd7sxNn8yHM8839uixMOV6g==}
+
os-tmpdir@1.0.2:
resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==}
engines: {node: '>=0.10.0'}
@@ -7245,6 +7751,9 @@ packages:
outdent@0.8.0:
resolution: {integrity: sha512-KiOAIsdpUTcAXuykya5fnVVT+/5uS0Q1mrkRHcF89tpieSmY33O/tmc54CqwA+bfhbtEfZUNLHaPUiB9X3jt1A==}
+ overlap-area@1.1.0:
+ resolution: {integrity: sha512-3dlJgJCaVeXH0/eZjYVJvQiLVVrPO4U1ZGqlATtx6QGO3b5eNM6+JgUKa7oStBTdYuGTk7gVoABCW6Tp+dhRdw==}
+
own-keys@1.0.1:
resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==}
engines: {node: '>= 0.4'}
@@ -7721,6 +8230,10 @@ packages:
process-nextick-args@2.0.1:
resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==}
+ prom-client@15.1.3:
+ resolution: {integrity: sha512-6ZiOBfCywsD4k1BN9IX0uZhF+tJkV8q8llP64G5Hajs4JOeVLPCwpPVcpXy3BwYiUGgyJzsJJQeOIv7+hDSq8g==}
+ engines: {node: ^16 || ^18 || >=20}
+
promise-inflight@1.0.1:
resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==}
peerDependencies:
@@ -7739,6 +8252,67 @@ packages:
property-information@6.5.0:
resolution: {integrity: sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==}
+ property-information@7.1.0:
+ resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==}
+
+ prosemirror-changeset@2.3.1:
+ resolution: {integrity: sha512-j0kORIBm8ayJNl3zQvD1TTPHJX3g042et6y/KQhZhnPrruO8exkTgG8X+NRpj7kIyMMEx74Xb3DyMIBtO0IKkQ==}
+
+ prosemirror-collab@1.3.1:
+ resolution: {integrity: sha512-4SnynYR9TTYaQVXd/ieUvsVV4PDMBzrq2xPUWutHivDuOshZXqQ5rGbZM84HEaXKbLdItse7weMGOUdDVcLKEQ==}
+
+ prosemirror-commands@1.7.1:
+ resolution: {integrity: sha512-rT7qZnQtx5c0/y/KlYaGvtG411S97UaL6gdp6RIZ23DLHanMYLyfGBV5DtSnZdthQql7W+lEVbpSfwtO8T+L2w==}
+
+ prosemirror-dropcursor@1.8.2:
+ resolution: {integrity: sha512-CCk6Gyx9+Tt2sbYk5NK0nB1ukHi2ryaRgadV/LvyNuO3ena1payM2z6Cg0vO1ebK8cxbzo41ku2DE5Axj1Zuiw==}
+
+ prosemirror-gapcursor@1.3.2:
+ resolution: {integrity: sha512-wtjswVBd2vaQRrnYZaBCbyDqr232Ed4p2QPtRIUK5FuqHYKGWkEwl08oQM4Tw7DOR0FsasARV5uJFvMZWxdNxQ==}
+
+ prosemirror-history@1.4.1:
+ resolution: {integrity: sha512-2JZD8z2JviJrboD9cPuX/Sv/1ChFng+xh2tChQ2X4bB2HeK+rra/bmJ3xGntCcjhOqIzSDG6Id7e8RJ9QPXLEQ==}
+
+ prosemirror-inputrules@1.5.0:
+ resolution: {integrity: sha512-K0xJRCmt+uSw7xesnHmcn72yBGTbY45vm8gXI4LZXbx2Z0jwh5aF9xrGQgrVPu0WbyFVFF3E/o9VhJYz6SQWnA==}
+
+ prosemirror-keymap@1.2.3:
+ resolution: {integrity: sha512-4HucRlpiLd1IPQQXNqeo81BGtkY8Ai5smHhKW9jjPKRc2wQIxksg7Hl1tTI2IfT2B/LgX6bfYvXxEpJl7aKYKw==}
+
+ prosemirror-markdown@1.13.2:
+ resolution: {integrity: sha512-FPD9rHPdA9fqzNmIIDhhnYQ6WgNoSWX9StUZ8LEKapaXU9i6XgykaHKhp6XMyXlOWetmaFgGDS/nu/w9/vUc5g==}
+
+ prosemirror-menu@1.2.5:
+ resolution: {integrity: sha512-qwXzynnpBIeg1D7BAtjOusR+81xCp53j7iWu/IargiRZqRjGIlQuu1f3jFi+ehrHhWMLoyOQTSRx/IWZJqOYtQ==}
+
+ prosemirror-model@1.25.1:
+ resolution: {integrity: sha512-AUvbm7qqmpZa5d9fPKMvH1Q5bqYQvAZWOGRvxsB6iFLyycvC9MwNemNVjHVrWgjaoxAfY8XVg7DbvQ/qxvI9Eg==}
+
+ prosemirror-schema-basic@1.2.4:
+ resolution: {integrity: sha512-ELxP4TlX3yr2v5rM7Sb70SqStq5NvI15c0j9j/gjsrO5vaw+fnnpovCLEGIcpeGfifkuqJwl4fon6b+KdrODYQ==}
+
+ prosemirror-schema-list@1.5.1:
+ resolution: {integrity: sha512-927lFx/uwyQaGwJxLWCZRkjXG0p48KpMj6ueoYiu4JX05GGuGcgzAy62dfiV8eFZftgyBUvLx76RsMe20fJl+Q==}
+
+ prosemirror-state@1.4.3:
+ resolution: {integrity: sha512-goFKORVbvPuAQaXhpbemJFRKJ2aixr+AZMGiquiqKxaucC6hlpHNZHWgz5R7dS4roHiwq9vDctE//CZ++o0W1Q==}
+
+ prosemirror-tables@1.7.1:
+ resolution: {integrity: sha512-eRQ97Bf+i9Eby99QbyAiyov43iOKgWa7QCGly+lrDt7efZ1v8NWolhXiB43hSDGIXT1UXgbs4KJN3a06FGpr1Q==}
+
+ prosemirror-trailing-node@3.0.0:
+ resolution: {integrity: sha512-xiun5/3q0w5eRnGYfNlW1uU9W6x5MoFKWwq/0TIRgt09lv7Hcser2QYV8t4muXbEr+Fwo0geYn79Xs4GKywrRQ==}
+ peerDependencies:
+ prosemirror-model: ^1.22.1
+ prosemirror-state: ^1.4.2
+ prosemirror-view: ^1.33.8
+
+ prosemirror-transform@1.10.4:
+ resolution: {integrity: sha512-pwDy22nAnGqNR1feOQKHxoFkkUtepoFAd3r2hbEDsnf4wp57kKA36hXsB3njA9FtONBEwSDnDeCiJe+ItD+ykw==}
+
+ prosemirror-view@1.40.0:
+ resolution: {integrity: sha512-2G3svX0Cr1sJjkD/DYWSe3cfV5VPVTBOxI9XQEGWJDFEpsZb/gh4MV29ctv+OJx2RFX4BLt09i+6zaGM/ldkCw==}
+
proto-list@1.2.4:
resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==}
@@ -7765,6 +8339,10 @@ packages:
pumpify@1.5.1:
resolution: {integrity: sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==}
+ punycode.js@2.3.1:
+ resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==}
+ engines: {node: '>=6'}
+
punycode@2.3.1:
resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
engines: {node: '>=6'}
@@ -7806,6 +8384,9 @@ packages:
resolution: {integrity: sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g==}
engines: {node: '>= 0.8'}
+ react-css-styled@1.1.9:
+ resolution: {integrity: sha512-M7fJZ3IWFaIHcZEkoFOnkjdiUFmwd8d+gTh2bpqMOcnxy/0Gsykw4dsL4QBiKsxcGow6tETUa4NAUcmJF+/nfw==}
+
react-dom@18.2.0:
resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==}
peerDependencies:
@@ -7830,6 +8411,15 @@ packages:
react-lifecycles-compat@3.0.4:
resolution: {integrity: sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==}
+ react-markdown@9.1.0:
+ resolution: {integrity: sha512-xaijuJB0kzGiUdG7nc2MOMDUDBWPyGAjZtUrow9XxUeua8IqeP+VlIfAZ3bphpcLTnSZXz6z9jcVC/TCwbfgdw==}
+ peerDependencies:
+ '@types/react': '>=18'
+ react: '>=18'
+
+ react-moveable@0.56.0:
+ resolution: {integrity: sha512-FmJNmIOsOA36mdxbrc/huiE4wuXSRlmon/o+/OrfNhSiYYYL0AV5oObtPluEhb2Yr/7EfYWBHTxF5aWAvjg1SA==}
+
react-promise-suspense@0.3.4:
resolution: {integrity: sha512-I42jl7L3Ze6kZaq+7zXWSunBa3b1on5yfvUW6Eo/3fFOj6dZ5Bqmcd264nJbTK/gn1HjjILAjSwnZbV4RpSaNQ==}
@@ -7886,6 +8476,9 @@ packages:
peerDependencies:
react: '>=16.8'
+ react-selecto@1.26.3:
+ resolution: {integrity: sha512-Ubik7kWSnZyQEBNro+1k38hZaI1tJarE+5aD/qsqCOA1uUBSjgKVBy3EWRzGIbdmVex7DcxznFZLec/6KZNvwQ==}
+
react-style-singleton@2.2.3:
resolution: {integrity: sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==}
engines: {node: '>=10'}
@@ -7896,6 +8489,12 @@ packages:
'@types/react':
optional: true
+ react-tweet@3.2.2:
+ resolution: {integrity: sha512-hIkxAVPpN2RqWoDEbo3TTnN/pDcp9/Jb6pTgiA4EbXa9S+m2vHIvvZKHR+eS0PDIsYqe+zTmANRa5k6+/iwGog==}
+ peerDependencies:
+ react: ^18.0.0 || ^19.0.0
+ react-dom: ^18.0.0 || ^19.0.0
+
react-virtualized@9.22.6:
resolution: {integrity: sha512-U5j7KuUQt3AaMatlMJ0UJddqSiX+Km0YJxSqbAzIiGw5EmNz0khMyqP2hzgu4+QUtm+QPIrxzUX4raJxmVJnHg==}
peerDependencies:
@@ -7984,9 +8583,15 @@ packages:
remark-parse@10.0.2:
resolution: {integrity: sha512-3ydxgHa/ZQzG8LvC7jTXccARYDcRld3VfcgIIFs7bI6vbRSxJJmzgLEIIoYKyrfhaY+ujuWaf/PJiMZXoiCXgw==}
+ remark-parse@11.0.0:
+ resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==}
+
remark-rehype@10.1.0:
resolution: {integrity: sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==}
+ remark-rehype@11.1.2:
+ resolution: {integrity: sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==}
+
remix-auth-oauth2@3.4.1:
resolution: {integrity: sha512-ZhGon1czdIsOw1/O9EcTCzapZB6FpT3u9vtXSVeEMwGNs+iWljRsibnUC1RtwJbzzCdLBSwIXTNTbiRmLZ4cZw==}
engines: {node: ^20.0.0 || >=20.0.0}
@@ -8123,6 +8728,9 @@ packages:
engines: {node: '>=18.0.0', npm: '>=8.0.0'}
hasBin: true
+ rope-sequence@1.3.4:
+ resolution: {integrity: sha512-UT5EDe2cu2E/6O4igUr5PSFs23nvvukicWHx6GnOPlHAiiYbzNuCRQCuiUdHJQcqKalLKlrYJnjY0ySGsXNQXQ==}
+
router@2.2.0:
resolution: {integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==}
engines: {node: '>= 18'}
@@ -8177,6 +8785,9 @@ packages:
selderee@0.11.0:
resolution: {integrity: sha512-5TF+l7p4+OsnP8BCCvSyZiSPc4x4//p5uPwK8TCnVPJYRmU2aYKMpOXvw8zM5a5JvuuCGN1jmsMwuU2W02ukfA==}
+ selecto@1.26.3:
+ resolution: {integrity: sha512-gZHgqMy5uyB6/2YDjv3Qqaf7bd2hTDOpPdxXlrez4R3/L0GiEWDCFaUfrflomgqdb3SxHF2IXY0Jw0EamZi7cw==}
+
semver@5.7.2:
resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==}
hasBin: true
@@ -8316,6 +8927,10 @@ packages:
resolution: {integrity: sha512-SE+UIQXBQE+GPG2oszWMlsEmWtHVqw/h1VrYJGK5/MC7CH5p58N448HwIrtREcvR4jfdOJAY4ieQfxMr55qbbw==}
engines: {node: '>=10.2.0'}
+ socket.io@4.7.4:
+ resolution: {integrity: sha512-DcotgfP1Zg9iP/dH9zvAQcWrE0TtbMVwXmlV4T4mqsvY+gw+LqUGPfx2AoVyRk0FLME+GQhufDMyacFmw7ksqw==}
+ engines: {node: '>=10.2.0'}
+
sonner@1.3.1:
resolution: {integrity: sha512-+rOAO56b2eI3q5BtgljERSn2umRk63KFIvgb2ohbZ5X+Eb5u+a/7/0ZgswYqgBMg8dyl7n6OXd9KasA8QF9ToA==}
peerDependencies:
@@ -8384,6 +8999,9 @@ packages:
resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==}
engines: {node: '>= 0.8'}
+ std-env@3.9.0:
+ resolution: {integrity: sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==}
+
stop-iteration-iterator@1.1.0:
resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==}
engines: {node: '>= 0.4'}
@@ -8483,9 +9101,15 @@ packages:
strnum@1.1.2:
resolution: {integrity: sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA==}
+ style-to-js@1.1.17:
+ resolution: {integrity: sha512-xQcBGDxJb6jjFCTzvQtfiPn6YvvP2O8U1MDIPNfJQlWMYfktPy+iGsHE7cssjs7y84d9fQaK4UF3RIJaAHSoYA==}
+
style-to-object@0.4.4:
resolution: {integrity: sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==}
+ style-to-object@1.0.9:
+ resolution: {integrity: sha512-G4qppLgKu/k6FwRpHiGiKPaPTFcG3g4wNVX/Qsfu+RqQM30E7Tyu/TEgxcL9PNLF5pdRLwQdE3YKKf+KF2Dzlw==}
+
styled-jsx@5.1.1:
resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==}
engines: {node: '>= 12.0.0'}
@@ -8524,10 +9148,6 @@ packages:
resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==}
engines: {node: '>=10'}
- supports-hyperlinks@2.3.0:
- resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==}
- engines: {node: '>=8'}
-
supports-preserve-symlinks-flag@1.0.0:
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
engines: {node: '>= 0.4'}
@@ -8597,14 +9217,13 @@ packages:
resolution: {integrity: sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==}
engines: {node: '>=18'}
+ tdigest@0.1.2:
+ resolution: {integrity: sha512-+G0LLgjjo9BZX2MfdvPfH+MKLCrxlXSYec5DaPYP1fe6Iyhf0/fSmJ0bFiZ1F8BT6cGXl2LpltQptzjXKWEkKA==}
+
term-size@2.2.1:
resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==}
engines: {node: '>=8'}
- terminal-link@3.0.0:
- resolution: {integrity: sha512-flFL3m4wuixmf6IfhFJd1YPiLiMuxEc8uHRM1buzIeZPm22Au2pDqBJQgdo7n1WfPU1ONFGv7YDwpFBmHGF6lg==}
- engines: {node: '>=12'}
-
terser-webpack-plugin@5.3.14:
resolution: {integrity: sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==}
engines: {node: '>= 10.13.0'}
@@ -8653,6 +9272,12 @@ packages:
resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==}
engines: {node: '>=12.0.0'}
+ tippy.js@6.3.7:
+ resolution: {integrity: sha512-E1d3oP2emgJ9dRQZdf3Kkn0qJgI6ZLpyS5z6ZkY1DF3kaQaBsGZsndEpHwx+eC+tYM41HaSNvNtLx8tU57FzTQ==}
+
+ tiptap-extension-global-drag-handle@0.1.18:
+ resolution: {integrity: sha512-jwFuy1K8DP3a4bFy76Hpc63w1Sil0B7uZ3mvhQomVvUFCU787Lg2FowNhn7NFzeyok761qY2VG+PZ/FDthWUdg==}
+
tmp@0.0.33:
resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==}
engines: {node: '>=0.6.0'}
@@ -8763,6 +9388,9 @@ packages:
engines: {node: '>=8.0.0'}
hasBin: true
+ tunnel-rat@0.1.2:
+ resolution: {integrity: sha512-lR5VHmkPhzdhrM092lI2nACsLO4QubF0/yoOhzX7c+wIpbN1GjHNzCc91QlpxBi+cnx8vVJ+Ur6vL5cEoQPFpQ==}
+
turbo-darwin-64@2.5.4:
resolution: {integrity: sha512-ah6YnH2dErojhFooxEzmvsoZQTMImaruZhFPfMKPBq8sb+hALRdvBNLqfc8NWlZq576FkfRZ/MSi4SHvVFT9PQ==}
cpu: [x64]
@@ -8824,10 +9452,6 @@ packages:
resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==}
engines: {node: '>=8'}
- type-fest@1.4.0:
- resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==}
- engines: {node: '>=10'}
-
type-fest@4.41.0:
resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==}
engines: {node: '>=16'}
@@ -8871,6 +9495,9 @@ packages:
engines: {node: '>=14.17'}
hasBin: true
+ uc.micro@2.1.0:
+ resolution: {integrity: sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==}
+
ufo@1.6.1:
resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==}
@@ -8893,6 +9520,9 @@ packages:
undici-types@5.26.5:
resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
+ undici-types@6.21.0:
+ resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==}
+
undici-types@7.8.0:
resolution: {integrity: sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==}
@@ -8907,6 +9537,9 @@ packages:
unified@10.1.2:
resolution: {integrity: sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==}
+ unified@11.0.5:
+ resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==}
+
unique-filename@3.0.0:
resolution: {integrity: sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
@@ -8921,24 +9554,39 @@ packages:
unist-util-is@5.2.1:
resolution: {integrity: sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==}
+ unist-util-is@6.0.0:
+ resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==}
+
unist-util-position-from-estree@1.1.2:
resolution: {integrity: sha512-poZa0eXpS+/XpoQwGwl79UUdea4ol2ZuCYguVaJS4qzIOMDzbqz8a3erUCOmubSZkaOuGamb3tX790iwOIROww==}
unist-util-position@4.0.4:
resolution: {integrity: sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==}
+ unist-util-position@5.0.0:
+ resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==}
+
unist-util-remove-position@4.0.2:
resolution: {integrity: sha512-TkBb0HABNmxzAcfLf4qsIbFbaPDvMO6wa3b3j4VcEzFVaw1LBKwnW4/sRJ/atSLSzoIg41JWEdnE7N6DIhGDGQ==}
unist-util-stringify-position@3.0.3:
resolution: {integrity: sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==}
+ unist-util-stringify-position@4.0.0:
+ resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==}
+
unist-util-visit-parents@5.1.3:
resolution: {integrity: sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==}
+ unist-util-visit-parents@6.0.1:
+ resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==}
+
unist-util-visit@4.1.2:
resolution: {integrity: sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==}
+ unist-util-visit@5.0.0:
+ resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==}
+
universalify@0.1.2:
resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==}
engines: {node: '>= 4.0.0'}
@@ -9033,9 +9681,15 @@ packages:
vfile-message@3.1.4:
resolution: {integrity: sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==}
+ vfile-message@4.0.2:
+ resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==}
+
vfile@5.3.7:
resolution: {integrity: sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==}
+ vfile@6.0.3:
+ resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==}
+
vite-node@1.6.1:
resolution: {integrity: sha512-YAXkfvGtuTzwWbDSACdJSg4A4DZiAqckWe90Zapc/sEX3XvHcw1NdurM/6od8J207tSDqNbSsgdCacBgvJKFuA==}
engines: {node: ^18.0.0 || >=20.0.0}
@@ -9125,6 +9779,9 @@ packages:
yaml:
optional: true
+ w3c-keyname@2.2.8:
+ resolution: {integrity: sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==}
+
watchpack@2.4.4:
resolution: {integrity: sha512-c5EGNOiyxxV5qmTtAB7rbiXxi1ooX1pQKMLX/MIabJjRA0SJBQOjKF+KSVfHkr9U1cADPon0mRiVe/riyaiDUA==}
engines: {node: '>=10.13.0'}
@@ -9325,6 +9982,21 @@ packages:
zod@3.23.8:
resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==}
+ zustand@4.5.7:
+ resolution: {integrity: sha512-CHOUy7mu3lbD6o6LJLfllpjkzhHXSBlX8B9+qPddUsIfeF5S/UZ5q0kmCsnRqT1UHFQZchNFDDzMbQsuesHWlw==}
+ engines: {node: '>=12.7.0'}
+ peerDependencies:
+ '@types/react': '>=16.8'
+ immer: '>=9.0.6'
+ react: '>=16.8'
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ immer:
+ optional: true
+ react:
+ optional: true
+
zwitch@2.0.4:
resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==}
@@ -10014,6 +10686,12 @@ snapshots:
'@babel/helper-string-parser': 7.27.1
'@babel/helper-validator-identifier': 7.27.1
+ '@bugsnag/cuid@3.2.1': {}
+
+ '@cfcs/core@0.0.6':
+ dependencies:
+ '@egjs/component': 3.0.5
+
'@changesets/apply-release-plan@6.1.4':
dependencies:
'@babel/runtime': 7.27.6
@@ -10184,8 +10862,20 @@ snapshots:
'@conform-to/dom': 0.6.3
zod: 3.23.8
+ '@daybrush/utils@1.13.0': {}
+
'@edgefirst-dev/data@0.0.4': {}
+ '@egjs/agent@2.4.4': {}
+
+ '@egjs/children-differ@1.0.1':
+ dependencies:
+ '@egjs/list-differ': 1.0.1
+
+ '@egjs/component@3.0.5': {}
+
+ '@egjs/list-differ@1.0.1': {}
+
'@electric-sql/client@1.0.0-beta.1':
optionalDependencies:
'@rollup/rollup-darwin-arm64': 4.43.0
@@ -10817,6 +11507,11 @@ snapshots:
'@opentelemetry/api': 1.9.0
'@opentelemetry/semantic-conventions': 1.25.1
+ '@opentelemetry/core@1.30.1(@opentelemetry/api@1.9.0)':
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+ '@opentelemetry/semantic-conventions': 1.28.0
+
'@opentelemetry/exporter-logs-otlp-http@0.52.1(@opentelemetry/api@1.9.0)':
dependencies:
'@opentelemetry/api': 1.9.0
@@ -10967,6 +11662,8 @@ snapshots:
'@opentelemetry/semantic-conventions@1.25.1': {}
+ '@opentelemetry/semantic-conventions@1.28.0': {}
+
'@oslojs/asn1@1.0.0':
dependencies:
'@oslojs/binary': 1.0.0
@@ -10989,6 +11686,8 @@ snapshots:
'@pkgjs/parseargs@0.11.0':
optional: true
+ '@popperjs/core@2.11.8': {}
+
'@prisma/client@5.4.1(prisma@5.4.1)':
dependencies:
'@prisma/engines-version': 5.4.1-1.2f302df92bd8945e20ad4595a73def5b96afa54f
@@ -11970,6 +12669,8 @@ snapshots:
dependencies:
react: 18.3.1
+ '@remirror/core-constants@3.0.0': {}
+
'@remix-run/changelog-github@0.0.5(encoding@0.1.13)':
dependencies:
'@changesets/errors': 0.1.4
@@ -12323,6 +13024,19 @@ snapshots:
'@rushstack/eslint-patch@1.11.0': {}
+ '@scena/dragscroll@1.4.0':
+ dependencies:
+ '@daybrush/utils': 1.13.0
+ '@scena/event-emitter': 1.0.5
+
+ '@scena/event-emitter@1.0.5':
+ dependencies:
+ '@daybrush/utils': 1.13.0
+
+ '@scena/matrix@1.1.1':
+ dependencies:
+ '@daybrush/utils': 1.13.0
+
'@sec-ant/readable-stream@0.4.1': {}
'@selderee/plugin-htmlparser2@0.11.0':
@@ -12647,7 +13361,7 @@ snapshots:
'@swc/core-win32-x64-msvc@1.3.101':
optional: true
- '@swc/core@1.3.101(@swc/helpers@0.5.2)':
+ '@swc/core@1.3.101(@swc/helpers@0.5.17)':
dependencies:
'@swc/counter': 0.1.3
'@swc/types': 0.1.23
@@ -12662,10 +13376,14 @@ snapshots:
'@swc/core-win32-arm64-msvc': 1.3.101
'@swc/core-win32-ia32-msvc': 1.3.101
'@swc/core-win32-x64-msvc': 1.3.101
- '@swc/helpers': 0.5.2
+ '@swc/helpers': 0.5.17
'@swc/counter@0.1.3': {}
+ '@swc/helpers@0.5.17':
+ dependencies:
+ tslib: 2.8.1
+
'@swc/helpers@0.5.2':
dependencies:
tslib: 2.8.1
@@ -12789,9 +13507,222 @@ snapshots:
lz-string: 1.5.0
pretty-format: 27.5.1
- '@trigger.dev/build@3.3.17(typescript@5.8.3)':
+ '@tiptap/core@2.25.0(@tiptap/pm@2.25.0)':
dependencies:
- '@trigger.dev/core': 3.3.17
+ '@tiptap/pm': 2.25.0
+
+ '@tiptap/extension-blockquote@2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))':
+ dependencies:
+ '@tiptap/core': 2.25.0(@tiptap/pm@2.25.0)
+
+ '@tiptap/extension-bold@2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))':
+ dependencies:
+ '@tiptap/core': 2.25.0(@tiptap/pm@2.25.0)
+
+ '@tiptap/extension-bubble-menu@2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))(@tiptap/pm@2.25.0)':
+ dependencies:
+ '@tiptap/core': 2.25.0(@tiptap/pm@2.25.0)
+ '@tiptap/pm': 2.25.0
+ tippy.js: 6.3.7
+
+ '@tiptap/extension-bullet-list@2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))':
+ dependencies:
+ '@tiptap/core': 2.25.0(@tiptap/pm@2.25.0)
+
+ '@tiptap/extension-character-count@2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))(@tiptap/pm@2.25.0)':
+ dependencies:
+ '@tiptap/core': 2.25.0(@tiptap/pm@2.25.0)
+ '@tiptap/pm': 2.25.0
+
+ '@tiptap/extension-code-block-lowlight@2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))(@tiptap/extension-code-block@2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))(@tiptap/pm@2.25.0))(@tiptap/pm@2.25.0)(highlight.js@11.11.1)(lowlight@3.3.0)':
+ dependencies:
+ '@tiptap/core': 2.25.0(@tiptap/pm@2.25.0)
+ '@tiptap/extension-code-block': 2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))(@tiptap/pm@2.25.0)
+ '@tiptap/pm': 2.25.0
+ highlight.js: 11.11.1
+ lowlight: 3.3.0
+
+ '@tiptap/extension-code-block@2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))(@tiptap/pm@2.25.0)':
+ dependencies:
+ '@tiptap/core': 2.25.0(@tiptap/pm@2.25.0)
+ '@tiptap/pm': 2.25.0
+
+ '@tiptap/extension-code@2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))':
+ dependencies:
+ '@tiptap/core': 2.25.0(@tiptap/pm@2.25.0)
+
+ '@tiptap/extension-color@2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))(@tiptap/extension-text-style@2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0)))':
+ dependencies:
+ '@tiptap/core': 2.25.0(@tiptap/pm@2.25.0)
+ '@tiptap/extension-text-style': 2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))
+
+ '@tiptap/extension-document@2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))':
+ dependencies:
+ '@tiptap/core': 2.25.0(@tiptap/pm@2.25.0)
+
+ '@tiptap/extension-dropcursor@2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))(@tiptap/pm@2.25.0)':
+ dependencies:
+ '@tiptap/core': 2.25.0(@tiptap/pm@2.25.0)
+ '@tiptap/pm': 2.25.0
+
+ '@tiptap/extension-floating-menu@2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))(@tiptap/pm@2.25.0)':
+ dependencies:
+ '@tiptap/core': 2.25.0(@tiptap/pm@2.25.0)
+ '@tiptap/pm': 2.25.0
+ tippy.js: 6.3.7
+
+ '@tiptap/extension-gapcursor@2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))(@tiptap/pm@2.25.0)':
+ dependencies:
+ '@tiptap/core': 2.25.0(@tiptap/pm@2.25.0)
+ '@tiptap/pm': 2.25.0
+
+ '@tiptap/extension-hard-break@2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))':
+ dependencies:
+ '@tiptap/core': 2.25.0(@tiptap/pm@2.25.0)
+
+ '@tiptap/extension-heading@2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))':
+ dependencies:
+ '@tiptap/core': 2.25.0(@tiptap/pm@2.25.0)
+
+ '@tiptap/extension-highlight@2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))':
+ dependencies:
+ '@tiptap/core': 2.25.0(@tiptap/pm@2.25.0)
+
+ '@tiptap/extension-history@2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))(@tiptap/pm@2.25.0)':
+ dependencies:
+ '@tiptap/core': 2.25.0(@tiptap/pm@2.25.0)
+ '@tiptap/pm': 2.25.0
+
+ '@tiptap/extension-horizontal-rule@2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))(@tiptap/pm@2.25.0)':
+ dependencies:
+ '@tiptap/core': 2.25.0(@tiptap/pm@2.25.0)
+ '@tiptap/pm': 2.25.0
+
+ '@tiptap/extension-image@2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))':
+ dependencies:
+ '@tiptap/core': 2.25.0(@tiptap/pm@2.25.0)
+
+ '@tiptap/extension-italic@2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))':
+ dependencies:
+ '@tiptap/core': 2.25.0(@tiptap/pm@2.25.0)
+
+ '@tiptap/extension-link@2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))(@tiptap/pm@2.25.0)':
+ dependencies:
+ '@tiptap/core': 2.25.0(@tiptap/pm@2.25.0)
+ '@tiptap/pm': 2.25.0
+ linkifyjs: 4.3.1
+
+ '@tiptap/extension-list-item@2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))':
+ dependencies:
+ '@tiptap/core': 2.25.0(@tiptap/pm@2.25.0)
+
+ '@tiptap/extension-ordered-list@2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))':
+ dependencies:
+ '@tiptap/core': 2.25.0(@tiptap/pm@2.25.0)
+
+ '@tiptap/extension-paragraph@2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))':
+ dependencies:
+ '@tiptap/core': 2.25.0(@tiptap/pm@2.25.0)
+
+ '@tiptap/extension-placeholder@2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))(@tiptap/pm@2.25.0)':
+ dependencies:
+ '@tiptap/core': 2.25.0(@tiptap/pm@2.25.0)
+ '@tiptap/pm': 2.25.0
+
+ '@tiptap/extension-strike@2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))':
+ dependencies:
+ '@tiptap/core': 2.25.0(@tiptap/pm@2.25.0)
+
+ '@tiptap/extension-task-item@2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))(@tiptap/pm@2.25.0)':
+ dependencies:
+ '@tiptap/core': 2.25.0(@tiptap/pm@2.25.0)
+ '@tiptap/pm': 2.25.0
+
+ '@tiptap/extension-task-list@2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))':
+ dependencies:
+ '@tiptap/core': 2.25.0(@tiptap/pm@2.25.0)
+
+ '@tiptap/extension-text-style@2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))':
+ dependencies:
+ '@tiptap/core': 2.25.0(@tiptap/pm@2.25.0)
+
+ '@tiptap/extension-text@2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))':
+ dependencies:
+ '@tiptap/core': 2.25.0(@tiptap/pm@2.25.0)
+
+ '@tiptap/extension-underline@2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))':
+ dependencies:
+ '@tiptap/core': 2.25.0(@tiptap/pm@2.25.0)
+
+ '@tiptap/extension-youtube@2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))':
+ dependencies:
+ '@tiptap/core': 2.25.0(@tiptap/pm@2.25.0)
+
+ '@tiptap/pm@2.25.0':
+ dependencies:
+ prosemirror-changeset: 2.3.1
+ prosemirror-collab: 1.3.1
+ prosemirror-commands: 1.7.1
+ prosemirror-dropcursor: 1.8.2
+ prosemirror-gapcursor: 1.3.2
+ prosemirror-history: 1.4.1
+ prosemirror-inputrules: 1.5.0
+ prosemirror-keymap: 1.2.3
+ prosemirror-markdown: 1.13.2
+ prosemirror-menu: 1.2.5
+ prosemirror-model: 1.25.1
+ prosemirror-schema-basic: 1.2.4
+ prosemirror-schema-list: 1.5.1
+ prosemirror-state: 1.4.3
+ prosemirror-tables: 1.7.1
+ prosemirror-trailing-node: 3.0.0(prosemirror-model@1.25.1)(prosemirror-state@1.4.3)(prosemirror-view@1.40.0)
+ prosemirror-transform: 1.10.4
+ prosemirror-view: 1.40.0
+
+ '@tiptap/react@2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))(@tiptap/pm@2.25.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@tiptap/core': 2.25.0(@tiptap/pm@2.25.0)
+ '@tiptap/extension-bubble-menu': 2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))(@tiptap/pm@2.25.0)
+ '@tiptap/extension-floating-menu': 2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))(@tiptap/pm@2.25.0)
+ '@tiptap/pm': 2.25.0
+ '@types/use-sync-external-store': 0.0.6
+ fast-deep-equal: 3.1.3
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ use-sync-external-store: 1.5.0(react@18.3.1)
+
+ '@tiptap/starter-kit@2.11.9':
+ dependencies:
+ '@tiptap/core': 2.25.0(@tiptap/pm@2.25.0)
+ '@tiptap/extension-blockquote': 2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))
+ '@tiptap/extension-bold': 2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))
+ '@tiptap/extension-bullet-list': 2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))
+ '@tiptap/extension-code': 2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))
+ '@tiptap/extension-code-block': 2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))(@tiptap/pm@2.25.0)
+ '@tiptap/extension-document': 2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))
+ '@tiptap/extension-dropcursor': 2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))(@tiptap/pm@2.25.0)
+ '@tiptap/extension-gapcursor': 2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))(@tiptap/pm@2.25.0)
+ '@tiptap/extension-hard-break': 2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))
+ '@tiptap/extension-heading': 2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))
+ '@tiptap/extension-history': 2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))(@tiptap/pm@2.25.0)
+ '@tiptap/extension-horizontal-rule': 2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))(@tiptap/pm@2.25.0)
+ '@tiptap/extension-italic': 2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))
+ '@tiptap/extension-list-item': 2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))
+ '@tiptap/extension-ordered-list': 2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))
+ '@tiptap/extension-paragraph': 2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))
+ '@tiptap/extension-strike': 2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))
+ '@tiptap/extension-text': 2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))
+ '@tiptap/extension-text-style': 2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))
+ '@tiptap/pm': 2.25.0
+
+ '@tiptap/suggestion@2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))(@tiptap/pm@2.25.0)':
+ dependencies:
+ '@tiptap/core': 2.25.0(@tiptap/pm@2.25.0)
+ '@tiptap/pm': 2.25.0
+
+ '@trigger.dev/build@4.0.0-v4-beta.22(typescript@5.8.3)':
+ dependencies:
+ '@trigger.dev/core': 4.0.0-v4-beta.22
pkg-types: 1.3.1
tinyglobby: 0.2.14
tsconfck: 3.1.3(typescript@5.8.3)
@@ -12801,13 +13732,15 @@ snapshots:
- typescript
- utf-8-validate
- '@trigger.dev/core@3.3.17':
+ '@trigger.dev/core@4.0.0-v4-beta.22':
dependencies:
+ '@bugsnag/cuid': 3.2.1
'@electric-sql/client': 1.0.0-beta.1
'@google-cloud/precise-date': 4.0.0
'@jsonhero/path': 1.0.21
'@opentelemetry/api': 1.9.0
'@opentelemetry/api-logs': 0.52.1
+ '@opentelemetry/core': 1.30.1(@opentelemetry/api@1.9.0)
'@opentelemetry/exporter-logs-otlp-http': 0.52.1(@opentelemetry/api@1.9.0)
'@opentelemetry/exporter-trace-otlp-http': 0.52.1(@opentelemetry/api@1.9.0)
'@opentelemetry/instrumentation': 0.52.1(@opentelemetry/api@1.9.0)
@@ -12824,8 +13757,12 @@ snapshots:
humanize-duration: 3.33.0
jose: 5.10.0
nanoid: 3.3.8
+ prom-client: 15.1.3
+ socket.io: 4.7.4
socket.io-client: 4.7.5
+ std-env: 3.9.0
superjson: 2.2.2
+ tinyexec: 0.3.2
zod: 3.23.8
zod-error: 1.5.0
zod-validation-error: 1.5.0(zod@3.23.8)
@@ -12834,23 +13771,35 @@ snapshots:
- supports-color
- utf-8-validate
- '@trigger.dev/sdk@3.3.17(zod@3.23.8)':
+ '@trigger.dev/react-hooks@4.0.0-v4-beta.22(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
+ dependencies:
+ '@trigger.dev/core': 4.0.0-v4-beta.22
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ swr: 2.3.3(react@18.3.1)
+ transitivePeerDependencies:
+ - bufferutil
+ - supports-color
+ - utf-8-validate
+
+ '@trigger.dev/sdk@4.0.0-v4-beta.22(ai@4.3.14(react@18.3.1)(zod@3.23.8))(zod@3.23.8)':
dependencies:
'@opentelemetry/api': 1.9.0
'@opentelemetry/api-logs': 0.52.1
'@opentelemetry/semantic-conventions': 1.25.1
- '@trigger.dev/core': 3.3.17
+ '@trigger.dev/core': 4.0.0-v4-beta.22
chalk: 5.4.1
cronstrue: 2.59.0
debug: 4.4.1
evt: 2.5.9
slug: 6.1.0
- terminal-link: 3.0.0
ulid: 2.4.0
uncrypto: 0.1.3
uuid: 9.0.1
ws: 8.17.1
zod: 3.23.8
+ optionalDependencies:
+ ai: 4.3.14(react@18.3.1)(zod@3.23.8)
transitivePeerDependencies:
- bufferutil
- supports-color
@@ -13052,6 +14001,10 @@ snapshots:
dependencies:
'@types/unist': 2.0.11
+ '@types/hast@3.0.4':
+ dependencies:
+ '@types/unist': 2.0.11
+
'@types/http-errors@2.0.5': {}
'@types/is-ci@3.0.4':
@@ -13062,10 +14015,23 @@ snapshots:
'@types/json5@0.0.29': {}
+ '@types/linkify-it@5.0.0': {}
+
+ '@types/markdown-it@14.1.2':
+ dependencies:
+ '@types/linkify-it': 5.0.0
+ '@types/mdurl': 2.0.0
+
'@types/mdast@3.0.15':
dependencies:
'@types/unist': 2.0.11
+ '@types/mdast@4.0.4':
+ dependencies:
+ '@types/unist': 2.0.11
+
+ '@types/mdurl@2.0.0': {}
+
'@types/mdx@2.0.13': {}
'@types/mime@1.3.5': {}
@@ -13084,6 +14050,10 @@ snapshots:
dependencies:
undici-types: 5.26.5
+ '@types/node@22.16.0':
+ dependencies:
+ undici-types: 6.21.0
+
'@types/node@24.0.0':
dependencies:
undici-types: 7.8.0
@@ -13106,6 +14076,11 @@ snapshots:
dependencies:
'@types/react': 18.2.69
+ '@types/react-virtualized@9.22.2':
+ dependencies:
+ '@types/prop-types': 15.7.15
+ '@types/react': 18.2.69
+
'@types/react@18.2.47':
dependencies:
'@types/prop-types': 15.7.15
@@ -13141,15 +14116,19 @@ snapshots:
'@types/unist@2.0.11': {}
+ '@types/unist@3.0.3': {}
+
+ '@types/use-sync-external-store@0.0.6': {}
+
'@types/uuid@9.0.8': {}
'@types/validator@13.15.2': {}
- '@types/webpack@5.28.5(@swc/core@1.3.101(@swc/helpers@0.5.2))(esbuild@0.19.11)':
+ '@types/webpack@5.28.5(@swc/core@1.3.101(@swc/helpers@0.5.17))(esbuild@0.19.11)':
dependencies:
'@types/node': 18.19.115
tapable: 2.2.2
- webpack: 5.99.9(@swc/core@1.3.101(@swc/helpers@0.5.2))(esbuild@0.19.11)
+ webpack: 5.99.9(@swc/core@1.3.101(@swc/helpers@0.5.17))(esbuild@0.19.11)
transitivePeerDependencies:
- '@swc/core'
- esbuild
@@ -13602,10 +14581,6 @@ snapshots:
ansi-colors@4.1.3: {}
- ansi-escapes@5.0.0:
- dependencies:
- type-fest: 1.4.0
-
ansi-regex@5.0.1: {}
ansi-regex@6.1.0: {}
@@ -13800,6 +14775,8 @@ snapshots:
binary-extensions@2.3.0: {}
+ bintrees@1.0.2: {}
+
bl@4.1.0:
dependencies:
buffer: 5.7.1
@@ -14063,6 +15040,18 @@ snapshots:
cluster-key-slot@1.1.2: {}
+ cmdk@1.1.1(@types/react-dom@18.3.7(@types/react@18.2.69))(@types/react@18.2.69)(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ dependencies:
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@18.2.69)(react@18.3.1)
+ '@radix-ui/react-dialog': 1.1.14(@types/react-dom@18.3.7(@types/react@18.2.69))(@types/react@18.2.69)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@radix-ui/react-id': 1.1.1(@types/react@18.2.69)(react@18.3.1)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@18.3.7(@types/react@18.2.69))(@types/react@18.2.69)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ transitivePeerDependencies:
+ - '@types/react'
+ - '@types/react-dom'
+
color-convert@1.9.3:
dependencies:
color-name: 1.1.3
@@ -14103,6 +15092,8 @@ snapshots:
commander@7.2.0: {}
+ commander@8.3.0: {}
+
compressible@2.0.18:
dependencies:
mime-db: 1.54.0
@@ -14176,6 +15167,8 @@ snapshots:
optionalDependencies:
typescript: 5.8.3
+ crelt@1.0.6: {}
+
cron-parser@4.9.0:
dependencies:
luxon: 3.6.1
@@ -14221,6 +15214,15 @@ snapshots:
optionalDependencies:
webpack: 5.99.9(esbuild@0.25.5)
+ css-styled@1.0.8:
+ dependencies:
+ '@daybrush/utils': 1.13.0
+
+ css-to-mat@1.1.1:
+ dependencies:
+ '@daybrush/utils': 1.13.0
+ '@scena/matrix': 1.1.1
+
css-unit-converter@1.1.2: {}
css-what@6.1.0: {}
@@ -14524,6 +15526,10 @@ snapshots:
defined: 1.0.1
minimist: 1.2.8
+ devlop@1.1.0:
+ dependencies:
+ dequal: 2.0.3
+
didyoumean@1.2.2: {}
diff-match-patch@1.0.5: {}
@@ -15230,6 +16236,8 @@ snapshots:
estree-util-is-identifier-name@2.1.0: {}
+ estree-util-is-identifier-name@3.0.0: {}
+
estree-util-to-js@1.2.0:
dependencies:
'@types/estree-jsx': 1.0.5
@@ -15415,6 +16423,8 @@ snapshots:
fast-levenshtein@2.0.6: {}
+ fast-sort@3.4.1: {}
+
fast-uri@3.0.6: {}
fast-xml-parser@4.4.1:
@@ -15532,6 +16542,8 @@ snapshots:
react: 18.3.1
react-dom: 18.3.1(react@18.3.1)
+ framework-utils@1.1.0: {}
+
fresh@0.5.2: {}
fresh@2.0.0: {}
@@ -15588,6 +16600,11 @@ snapshots:
gensync@1.0.0-beta.2: {}
+ gesto@1.19.4:
+ dependencies:
+ '@daybrush/utils': 1.13.0
+ '@scena/event-emitter': 1.0.5
+
get-caller-file@2.0.5: {}
get-intrinsic@1.3.0:
@@ -15796,8 +16813,34 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ hast-util-to-jsx-runtime@2.3.6:
+ dependencies:
+ '@types/estree': 1.0.8
+ '@types/hast': 3.0.4
+ '@types/unist': 3.0.3
+ comma-separated-tokens: 2.0.3
+ devlop: 1.1.0
+ estree-util-is-identifier-name: 3.0.0
+ hast-util-whitespace: 3.0.0
+ mdast-util-mdx-expression: 2.0.1
+ mdast-util-mdx-jsx: 3.2.0
+ mdast-util-mdxjs-esm: 2.0.1
+ property-information: 7.1.0
+ space-separated-tokens: 2.0.2
+ style-to-js: 1.1.17
+ unist-util-position: 5.0.0
+ vfile-message: 4.0.2
+ transitivePeerDependencies:
+ - supports-color
+
hast-util-whitespace@2.0.1: {}
+ hast-util-whitespace@3.0.0:
+ dependencies:
+ '@types/hast': 3.0.4
+
+ highlight.js@11.11.1: {}
+
hosted-git-info@2.8.9: {}
hosted-git-info@6.1.3:
@@ -15814,6 +16857,8 @@ snapshots:
htmlparser2: 8.0.2
selderee: 0.11.0
+ html-url-attributes@3.0.1: {}
+
htmlparser2@8.0.2:
dependencies:
domelementtype: 2.3.0
@@ -15882,6 +16927,8 @@ snapshots:
inline-style-parser@0.1.1: {}
+ inline-style-parser@0.2.4: {}
+
internal-slot@1.1.0:
dependencies:
es-errors: 1.3.0
@@ -16142,6 +17189,11 @@ snapshots:
jose@5.10.0: {}
+ jotai@2.12.5(@types/react@18.2.69)(react@18.3.1):
+ optionalDependencies:
+ '@types/react': 18.2.69
+ react: 18.3.1
+
joycon@3.1.1: {}
js-beautify@1.15.4:
@@ -16212,6 +17264,19 @@ snapshots:
object.assign: 4.1.7
object.values: 1.2.1
+ katex@0.16.22:
+ dependencies:
+ commander: 8.3.0
+
+ keycode@2.2.1: {}
+
+ keycon@1.4.0:
+ dependencies:
+ '@cfcs/core': 0.0.6
+ '@daybrush/utils': 1.13.0
+ '@scena/event-emitter': 1.0.5
+ keycode: 2.2.1
+
keyv@4.5.4:
dependencies:
json-buffer: 3.0.1
@@ -16286,6 +17351,12 @@ snapshots:
lines-and-columns@1.2.4: {}
+ linkify-it@5.0.0:
+ dependencies:
+ uc.micro: 2.1.0
+
+ linkifyjs@4.3.1: {}
+
load-json-file@4.0.0:
dependencies:
graceful-fs: 4.2.11
@@ -16353,6 +17424,12 @@ snapshots:
dependencies:
js-tokens: 4.0.0
+ lowlight@3.3.0:
+ dependencies:
+ '@types/hast': 3.0.4
+ devlop: 1.1.0
+ highlight.js: 11.11.1
+
lru-cache@10.4.3: {}
lru-cache@11.1.0: {}
@@ -16386,6 +17463,15 @@ snapshots:
markdown-extensions@1.1.1: {}
+ markdown-it@14.1.0:
+ dependencies:
+ argparse: 2.0.1
+ entities: 4.5.0
+ linkify-it: 5.0.0
+ mdurl: 2.0.0
+ punycode.js: 2.3.1
+ uc.micro: 2.1.0
+
marked@7.0.4: {}
math-intrinsics@1.1.0: {}
@@ -16418,6 +17504,23 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ mdast-util-from-markdown@2.0.2:
+ dependencies:
+ '@types/mdast': 4.0.4
+ '@types/unist': 3.0.3
+ decode-named-character-reference: 1.1.0
+ devlop: 1.1.0
+ mdast-util-to-string: 4.0.0
+ micromark: 4.0.2
+ micromark-util-decode-numeric-character-reference: 2.0.2
+ micromark-util-decode-string: 2.0.1
+ micromark-util-normalize-identifier: 2.0.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+ unist-util-stringify-position: 4.0.0
+ transitivePeerDependencies:
+ - supports-color
+
mdast-util-frontmatter@1.0.1:
dependencies:
'@types/mdast': 3.0.15
@@ -16434,6 +17537,17 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ mdast-util-mdx-expression@2.0.1:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+ devlop: 1.1.0
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.2
+ transitivePeerDependencies:
+ - supports-color
+
mdast-util-mdx-jsx@2.1.4:
dependencies:
'@types/estree-jsx': 1.0.5
@@ -16451,6 +17565,23 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ mdast-util-mdx-jsx@3.2.0:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+ '@types/unist': 3.0.3
+ ccount: 2.0.1
+ devlop: 1.1.0
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.2
+ parse-entities: 4.0.2
+ stringify-entities: 4.0.4
+ unist-util-stringify-position: 4.0.0
+ vfile-message: 4.0.2
+ transitivePeerDependencies:
+ - supports-color
+
mdast-util-mdx@2.0.1:
dependencies:
mdast-util-from-markdown: 1.3.1
@@ -16471,11 +17602,27 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ mdast-util-mdxjs-esm@2.0.1:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+ devlop: 1.1.0
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.2
+ transitivePeerDependencies:
+ - supports-color
+
mdast-util-phrasing@3.0.1:
dependencies:
'@types/mdast': 3.0.15
unist-util-is: 5.2.1
+ mdast-util-phrasing@4.1.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ unist-util-is: 6.0.0
+
mdast-util-to-hast@12.3.0:
dependencies:
'@types/hast': 2.3.10
@@ -16487,6 +17634,18 @@ snapshots:
unist-util-position: 4.0.4
unist-util-visit: 4.1.2
+ mdast-util-to-hast@13.2.0:
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+ '@ungap/structured-clone': 1.3.0
+ devlop: 1.1.0
+ micromark-util-sanitize-uri: 2.0.1
+ trim-lines: 3.0.1
+ unist-util-position: 5.0.0
+ unist-util-visit: 5.0.0
+ vfile: 6.0.3
+
mdast-util-to-markdown@1.5.0:
dependencies:
'@types/mdast': 3.0.15
@@ -16498,10 +17657,28 @@ snapshots:
unist-util-visit: 4.1.2
zwitch: 2.0.4
+ mdast-util-to-markdown@2.1.2:
+ dependencies:
+ '@types/mdast': 4.0.4
+ '@types/unist': 3.0.3
+ longest-streak: 3.1.0
+ mdast-util-phrasing: 4.1.0
+ mdast-util-to-string: 4.0.0
+ micromark-util-classify-character: 2.0.1
+ micromark-util-decode-string: 2.0.1
+ unist-util-visit: 5.0.0
+ zwitch: 2.0.4
+
mdast-util-to-string@3.2.0:
dependencies:
'@types/mdast': 3.0.15
+ mdast-util-to-string@4.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+
+ mdurl@2.0.0: {}
+
media-query-parser@2.0.2:
dependencies:
'@babel/runtime': 7.27.6
@@ -16555,6 +17732,25 @@ snapshots:
micromark-util-types: 1.1.0
uvu: 0.5.6
+ micromark-core-commonmark@2.0.3:
+ dependencies:
+ decode-named-character-reference: 1.1.0
+ devlop: 1.1.0
+ micromark-factory-destination: 2.0.1
+ micromark-factory-label: 2.0.1
+ micromark-factory-space: 2.0.1
+ micromark-factory-title: 2.0.1
+ micromark-factory-whitespace: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-chunked: 2.0.1
+ micromark-util-classify-character: 2.0.1
+ micromark-util-html-tag-name: 2.0.1
+ micromark-util-normalize-identifier: 2.0.1
+ micromark-util-resolve-all: 2.0.1
+ micromark-util-subtokenize: 2.1.0
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
micromark-extension-frontmatter@1.1.1:
dependencies:
fault: 2.0.1
@@ -16619,6 +17815,12 @@ snapshots:
micromark-util-symbol: 1.1.0
micromark-util-types: 1.1.0
+ micromark-factory-destination@2.0.1:
+ dependencies:
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
micromark-factory-label@1.1.0:
dependencies:
micromark-util-character: 1.2.0
@@ -16626,6 +17828,13 @@ snapshots:
micromark-util-types: 1.1.0
uvu: 0.5.6
+ micromark-factory-label@2.0.1:
+ dependencies:
+ devlop: 1.1.0
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
micromark-factory-mdx-expression@1.0.9:
dependencies:
'@types/estree': 1.0.8
@@ -16642,6 +17851,11 @@ snapshots:
micromark-util-character: 1.2.0
micromark-util-types: 1.1.0
+ micromark-factory-space@2.0.1:
+ dependencies:
+ micromark-util-character: 2.1.1
+ micromark-util-types: 2.0.2
+
micromark-factory-title@1.1.0:
dependencies:
micromark-factory-space: 1.1.0
@@ -16649,6 +17863,13 @@ snapshots:
micromark-util-symbol: 1.1.0
micromark-util-types: 1.1.0
+ micromark-factory-title@2.0.1:
+ dependencies:
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
micromark-factory-whitespace@1.1.0:
dependencies:
micromark-factory-space: 1.1.0
@@ -16656,30 +17877,61 @@ snapshots:
micromark-util-symbol: 1.1.0
micromark-util-types: 1.1.0
+ micromark-factory-whitespace@2.0.1:
+ dependencies:
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
micromark-util-character@1.2.0:
dependencies:
micromark-util-symbol: 1.1.0
micromark-util-types: 1.1.0
+ micromark-util-character@2.1.1:
+ dependencies:
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
micromark-util-chunked@1.1.0:
dependencies:
micromark-util-symbol: 1.1.0
+ micromark-util-chunked@2.0.1:
+ dependencies:
+ micromark-util-symbol: 2.0.1
+
micromark-util-classify-character@1.1.0:
dependencies:
micromark-util-character: 1.2.0
micromark-util-symbol: 1.1.0
micromark-util-types: 1.1.0
+ micromark-util-classify-character@2.0.1:
+ dependencies:
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
micromark-util-combine-extensions@1.1.0:
dependencies:
micromark-util-chunked: 1.1.0
micromark-util-types: 1.1.0
+ micromark-util-combine-extensions@2.0.1:
+ dependencies:
+ micromark-util-chunked: 2.0.1
+ micromark-util-types: 2.0.2
+
micromark-util-decode-numeric-character-reference@1.1.0:
dependencies:
micromark-util-symbol: 1.1.0
+ micromark-util-decode-numeric-character-reference@2.0.2:
+ dependencies:
+ micromark-util-symbol: 2.0.1
+
micromark-util-decode-string@1.1.0:
dependencies:
decode-named-character-reference: 1.1.0
@@ -16687,8 +17939,17 @@ snapshots:
micromark-util-decode-numeric-character-reference: 1.1.0
micromark-util-symbol: 1.1.0
+ micromark-util-decode-string@2.0.1:
+ dependencies:
+ decode-named-character-reference: 1.1.0
+ micromark-util-character: 2.1.1
+ micromark-util-decode-numeric-character-reference: 2.0.2
+ micromark-util-symbol: 2.0.1
+
micromark-util-encode@1.1.0: {}
+ micromark-util-encode@2.0.1: {}
+
micromark-util-events-to-acorn@1.2.3:
dependencies:
'@types/acorn': 4.0.6
@@ -16702,20 +17963,36 @@ snapshots:
micromark-util-html-tag-name@1.2.0: {}
+ micromark-util-html-tag-name@2.0.1: {}
+
micromark-util-normalize-identifier@1.1.0:
dependencies:
micromark-util-symbol: 1.1.0
+ micromark-util-normalize-identifier@2.0.1:
+ dependencies:
+ micromark-util-symbol: 2.0.1
+
micromark-util-resolve-all@1.1.0:
dependencies:
micromark-util-types: 1.1.0
+ micromark-util-resolve-all@2.0.1:
+ dependencies:
+ micromark-util-types: 2.0.2
+
micromark-util-sanitize-uri@1.2.0:
dependencies:
micromark-util-character: 1.2.0
micromark-util-encode: 1.1.0
micromark-util-symbol: 1.1.0
+ micromark-util-sanitize-uri@2.0.1:
+ dependencies:
+ micromark-util-character: 2.1.1
+ micromark-util-encode: 2.0.1
+ micromark-util-symbol: 2.0.1
+
micromark-util-subtokenize@1.1.0:
dependencies:
micromark-util-chunked: 1.1.0
@@ -16723,10 +18000,21 @@ snapshots:
micromark-util-types: 1.1.0
uvu: 0.5.6
+ micromark-util-subtokenize@2.1.0:
+ dependencies:
+ devlop: 1.1.0
+ micromark-util-chunked: 2.0.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
micromark-util-symbol@1.1.0: {}
+ micromark-util-symbol@2.0.1: {}
+
micromark-util-types@1.1.0: {}
+ micromark-util-types@2.0.2: {}
+
micromark@3.2.0:
dependencies:
'@types/debug': 4.1.12
@@ -16749,6 +18037,28 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ micromark@4.0.2:
+ dependencies:
+ '@types/debug': 4.1.12
+ debug: 4.4.1
+ decode-named-character-reference: 1.1.0
+ devlop: 1.1.0
+ micromark-core-commonmark: 2.0.3
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-chunked: 2.0.1
+ micromark-util-combine-extensions: 2.0.1
+ micromark-util-decode-numeric-character-reference: 2.0.2
+ micromark-util-encode: 2.0.1
+ micromark-util-normalize-identifier: 2.0.1
+ micromark-util-resolve-all: 2.0.1
+ micromark-util-sanitize-uri: 2.0.1
+ micromark-util-subtokenize: 2.1.0
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+ transitivePeerDependencies:
+ - supports-color
+
micromatch@4.0.8:
dependencies:
braces: 3.0.3
@@ -17001,6 +18311,48 @@ snapshots:
normalize.css@8.0.1: {}
+ novel@1.0.2(@tiptap/extension-code-block@2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))(@tiptap/pm@2.25.0))(@types/react-dom@18.3.7(@types/react@18.2.69))(@types/react@18.2.69)(highlight.js@11.11.1)(lowlight@3.3.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ dependencies:
+ '@radix-ui/react-slot': 1.2.3(@types/react@18.2.69)(react@18.3.1)
+ '@tiptap/core': 2.25.0(@tiptap/pm@2.25.0)
+ '@tiptap/extension-character-count': 2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))(@tiptap/pm@2.25.0)
+ '@tiptap/extension-code-block-lowlight': 2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))(@tiptap/extension-code-block@2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))(@tiptap/pm@2.25.0))(@tiptap/pm@2.25.0)(highlight.js@11.11.1)(lowlight@3.3.0)
+ '@tiptap/extension-color': 2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))(@tiptap/extension-text-style@2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0)))
+ '@tiptap/extension-highlight': 2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))
+ '@tiptap/extension-horizontal-rule': 2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))(@tiptap/pm@2.25.0)
+ '@tiptap/extension-image': 2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))
+ '@tiptap/extension-link': 2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))(@tiptap/pm@2.25.0)
+ '@tiptap/extension-placeholder': 2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))(@tiptap/pm@2.25.0)
+ '@tiptap/extension-task-item': 2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))(@tiptap/pm@2.25.0)
+ '@tiptap/extension-task-list': 2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))
+ '@tiptap/extension-text-style': 2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))
+ '@tiptap/extension-underline': 2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))
+ '@tiptap/extension-youtube': 2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))
+ '@tiptap/pm': 2.25.0
+ '@tiptap/react': 2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))(@tiptap/pm@2.25.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ '@tiptap/starter-kit': 2.11.9
+ '@tiptap/suggestion': 2.25.0(@tiptap/core@2.25.0(@tiptap/pm@2.25.0))(@tiptap/pm@2.25.0)
+ '@types/node': 22.16.0
+ cmdk: 1.1.1(@types/react-dom@18.3.7(@types/react@18.2.69))(@types/react@18.2.69)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ jotai: 2.12.5(@types/react@18.2.69)(react@18.3.1)
+ katex: 0.16.22
+ react: 18.3.1
+ react-markdown: 9.1.0(@types/react@18.2.69)(react@18.3.1)
+ react-moveable: 0.56.0
+ react-tweet: 3.2.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
+ tippy.js: 6.3.7
+ tiptap-extension-global-drag-handle: 0.1.18
+ tunnel-rat: 0.1.2(@types/react@18.2.69)(react@18.3.1)
+ transitivePeerDependencies:
+ - '@tiptap/extension-code-block'
+ - '@types/react'
+ - '@types/react-dom'
+ - highlight.js
+ - immer
+ - lowlight
+ - react-dom
+ - supports-color
+
npm-install-checks@6.3.0:
dependencies:
semver: 7.7.2
@@ -17150,12 +18502,18 @@ snapshots:
strip-ansi: 6.0.1
wcwidth: 1.0.1
+ orderedmap@2.1.1: {}
+
os-tmpdir@1.0.2: {}
outdent@0.5.0: {}
outdent@0.8.0: {}
+ overlap-area@1.1.0:
+ dependencies:
+ '@daybrush/utils': 1.13.0
+
own-keys@1.0.1:
dependencies:
get-intrinsic: 1.3.0
@@ -17552,6 +18910,11 @@ snapshots:
process-nextick-args@2.0.1: {}
+ prom-client@15.1.3:
+ dependencies:
+ '@opentelemetry/api': 1.9.0
+ tdigest: 0.1.2
+
promise-inflight@1.0.1: {}
promise-retry@2.0.1:
@@ -17567,6 +18930,111 @@ snapshots:
property-information@6.5.0: {}
+ property-information@7.1.0: {}
+
+ prosemirror-changeset@2.3.1:
+ dependencies:
+ prosemirror-transform: 1.10.4
+
+ prosemirror-collab@1.3.1:
+ dependencies:
+ prosemirror-state: 1.4.3
+
+ prosemirror-commands@1.7.1:
+ dependencies:
+ prosemirror-model: 1.25.1
+ prosemirror-state: 1.4.3
+ prosemirror-transform: 1.10.4
+
+ prosemirror-dropcursor@1.8.2:
+ dependencies:
+ prosemirror-state: 1.4.3
+ prosemirror-transform: 1.10.4
+ prosemirror-view: 1.40.0
+
+ prosemirror-gapcursor@1.3.2:
+ dependencies:
+ prosemirror-keymap: 1.2.3
+ prosemirror-model: 1.25.1
+ prosemirror-state: 1.4.3
+ prosemirror-view: 1.40.0
+
+ prosemirror-history@1.4.1:
+ dependencies:
+ prosemirror-state: 1.4.3
+ prosemirror-transform: 1.10.4
+ prosemirror-view: 1.40.0
+ rope-sequence: 1.3.4
+
+ prosemirror-inputrules@1.5.0:
+ dependencies:
+ prosemirror-state: 1.4.3
+ prosemirror-transform: 1.10.4
+
+ prosemirror-keymap@1.2.3:
+ dependencies:
+ prosemirror-state: 1.4.3
+ w3c-keyname: 2.2.8
+
+ prosemirror-markdown@1.13.2:
+ dependencies:
+ '@types/markdown-it': 14.1.2
+ markdown-it: 14.1.0
+ prosemirror-model: 1.25.1
+
+ prosemirror-menu@1.2.5:
+ dependencies:
+ crelt: 1.0.6
+ prosemirror-commands: 1.7.1
+ prosemirror-history: 1.4.1
+ prosemirror-state: 1.4.3
+
+ prosemirror-model@1.25.1:
+ dependencies:
+ orderedmap: 2.1.1
+
+ prosemirror-schema-basic@1.2.4:
+ dependencies:
+ prosemirror-model: 1.25.1
+
+ prosemirror-schema-list@1.5.1:
+ dependencies:
+ prosemirror-model: 1.25.1
+ prosemirror-state: 1.4.3
+ prosemirror-transform: 1.10.4
+
+ prosemirror-state@1.4.3:
+ dependencies:
+ prosemirror-model: 1.25.1
+ prosemirror-transform: 1.10.4
+ prosemirror-view: 1.40.0
+
+ prosemirror-tables@1.7.1:
+ dependencies:
+ prosemirror-keymap: 1.2.3
+ prosemirror-model: 1.25.1
+ prosemirror-state: 1.4.3
+ prosemirror-transform: 1.10.4
+ prosemirror-view: 1.40.0
+
+ prosemirror-trailing-node@3.0.0(prosemirror-model@1.25.1)(prosemirror-state@1.4.3)(prosemirror-view@1.40.0):
+ dependencies:
+ '@remirror/core-constants': 3.0.0
+ escape-string-regexp: 4.0.0
+ prosemirror-model: 1.25.1
+ prosemirror-state: 1.4.3
+ prosemirror-view: 1.40.0
+
+ prosemirror-transform@1.10.4:
+ dependencies:
+ prosemirror-model: 1.25.1
+
+ prosemirror-view@1.40.0:
+ dependencies:
+ prosemirror-model: 1.25.1
+ prosemirror-state: 1.4.3
+ prosemirror-transform: 1.10.4
+
proto-list@1.2.4: {}
protobufjs@7.5.3:
@@ -17609,6 +19077,8 @@ snapshots:
inherits: 2.0.4
pump: 2.0.1
+ punycode.js@2.3.1: {}
+
punycode@2.3.1: {}
purgecss@2.3.0:
@@ -17652,6 +19122,11 @@ snapshots:
iconv-lite: 0.6.3
unpipe: 1.0.0
+ react-css-styled@1.1.9:
+ dependencies:
+ css-styled: 1.0.8
+ framework-utils: 1.1.0
+
react-dom@18.2.0(react@18.2.0):
dependencies:
loose-envify: 1.4.0
@@ -17664,7 +19139,7 @@ snapshots:
react: 18.3.1
scheduler: 0.23.2
- react-email@2.1.6(@opentelemetry/api@1.9.0)(@swc/helpers@0.5.2)(eslint@8.57.1):
+ react-email@2.1.6(@opentelemetry/api@1.9.0)(@swc/helpers@0.5.17)(eslint@8.57.1):
dependencies:
'@babel/core': 7.24.5
'@babel/parser': 7.24.5
@@ -17674,10 +19149,10 @@ snapshots:
'@radix-ui/react-slot': 1.1.0(@types/react@18.2.47)(react@18.3.1)
'@radix-ui/react-toggle-group': 1.1.0(@types/react-dom@18.3.7(@types/react@18.2.47))(@types/react@18.2.47)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
'@radix-ui/react-tooltip': 1.1.1(@types/react-dom@18.3.7(@types/react@18.2.47))(@types/react@18.2.47)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
- '@swc/core': 1.3.101(@swc/helpers@0.5.2)
+ '@swc/core': 1.3.101(@swc/helpers@0.5.17)
'@types/react': 18.2.47
'@types/react-dom': 18.3.7(@types/react@18.2.69)
- '@types/webpack': 5.28.5(@swc/core@1.3.101(@swc/helpers@0.5.2))(esbuild@0.19.11)
+ '@types/webpack': 5.28.5(@swc/core@1.3.101(@swc/helpers@0.5.17))(esbuild@0.19.11)
autoprefixer: 10.4.14(postcss@8.4.38)
chalk: 4.1.2
chokidar: 3.5.3
@@ -17725,6 +19200,40 @@ snapshots:
react-lifecycles-compat@3.0.4: {}
+ react-markdown@9.1.0(@types/react@18.2.69)(react@18.3.1):
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+ '@types/react': 18.2.69
+ devlop: 1.1.0
+ hast-util-to-jsx-runtime: 2.3.6
+ html-url-attributes: 3.0.1
+ mdast-util-to-hast: 13.2.0
+ react: 18.3.1
+ remark-parse: 11.0.0
+ remark-rehype: 11.1.2
+ unified: 11.0.5
+ unist-util-visit: 5.0.0
+ vfile: 6.0.3
+ transitivePeerDependencies:
+ - supports-color
+
+ react-moveable@0.56.0:
+ dependencies:
+ '@daybrush/utils': 1.13.0
+ '@egjs/agent': 2.4.4
+ '@egjs/children-differ': 1.0.1
+ '@egjs/list-differ': 1.0.1
+ '@scena/dragscroll': 1.4.0
+ '@scena/event-emitter': 1.0.5
+ '@scena/matrix': 1.1.1
+ css-to-mat: 1.1.1
+ framework-utils: 1.1.0
+ gesto: 1.19.4
+ overlap-area: 1.1.0
+ react-css-styled: 1.1.9
+ react-selecto: 1.26.3
+
react-promise-suspense@0.3.4:
dependencies:
fast-deep-equal: 2.0.1
@@ -17786,6 +19295,10 @@ snapshots:
'@remix-run/router': 1.23.0
react: 18.3.1
+ react-selecto@1.26.3:
+ dependencies:
+ selecto: 1.26.3
+
react-style-singleton@2.2.3(@types/react@18.2.47)(react@18.3.1):
dependencies:
get-nonce: 1.0.1
@@ -17802,6 +19315,14 @@ snapshots:
optionalDependencies:
'@types/react': 18.2.69
+ react-tweet@3.2.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
+ dependencies:
+ '@swc/helpers': 0.5.17
+ clsx: 2.1.1
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ swr: 2.3.3(react@18.3.1)
+
react-virtualized@9.22.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies:
'@babel/runtime': 7.27.6
@@ -17940,6 +19461,15 @@ snapshots:
transitivePeerDependencies:
- supports-color
+ remark-parse@11.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ mdast-util-from-markdown: 2.0.2
+ micromark-util-types: 2.0.2
+ unified: 11.0.5
+ transitivePeerDependencies:
+ - supports-color
+
remark-rehype@10.1.0:
dependencies:
'@types/hast': 2.3.10
@@ -17947,6 +19477,14 @@ snapshots:
mdast-util-to-hast: 12.3.0
unified: 10.1.2
+ remark-rehype@11.1.2:
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+ mdast-util-to-hast: 13.2.0
+ unified: 11.0.5
+ vfile: 6.0.3
+
remix-auth-oauth2@3.4.1(remix-auth@4.2.0):
dependencies:
'@edgefirst-dev/data': 0.0.4
@@ -18069,6 +19607,8 @@ snapshots:
'@rollup/rollup-win32-x64-msvc': 4.43.0
fsevents: 2.3.3
+ rope-sequence@1.3.4: {}
+
router@2.2.0:
dependencies:
debug: 4.4.1
@@ -18139,6 +19679,19 @@ snapshots:
dependencies:
parseley: 0.12.1
+ selecto@1.26.3:
+ dependencies:
+ '@daybrush/utils': 1.13.0
+ '@egjs/children-differ': 1.0.1
+ '@scena/dragscroll': 1.4.0
+ '@scena/event-emitter': 1.0.5
+ css-styled: 1.0.8
+ css-to-mat: 1.1.1
+ framework-utils: 1.1.0
+ gesto: 1.19.4
+ keycon: 1.4.0
+ overlap-area: 1.1.0
+
semver@5.7.2: {}
semver@6.3.1: {}
@@ -18362,6 +19915,20 @@ snapshots:
- supports-color
- utf-8-validate
+ socket.io@4.7.4:
+ dependencies:
+ accepts: 1.3.8
+ base64id: 2.0.0
+ cors: 2.8.5
+ debug: 4.3.7
+ engine.io: 6.5.5
+ socket.io-adapter: 2.5.5
+ socket.io-parser: 4.2.4
+ transitivePeerDependencies:
+ - bufferutil
+ - supports-color
+ - utf-8-validate
+
sonner@1.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
dependencies:
react: 18.3.1
@@ -18421,6 +19988,8 @@ snapshots:
statuses@2.0.1: {}
+ std-env@3.9.0: {}
+
stop-iteration-iterator@1.1.0:
dependencies:
es-errors: 1.3.0
@@ -18544,10 +20113,18 @@ snapshots:
strnum@1.1.2: {}
+ style-to-js@1.1.17:
+ dependencies:
+ style-to-object: 1.0.9
+
style-to-object@0.4.4:
dependencies:
inline-style-parser: 0.1.1
+ style-to-object@1.0.9:
+ dependencies:
+ inline-style-parser: 0.2.4
+
styled-jsx@5.1.1(@babel/core@7.24.5)(react@18.3.1):
dependencies:
client-only: 0.0.1
@@ -18585,11 +20162,6 @@ snapshots:
dependencies:
has-flag: 4.0.0
- supports-hyperlinks@2.3.0:
- dependencies:
- has-flag: 4.0.0
- supports-color: 7.2.0
-
supports-preserve-symlinks-flag@1.0.0: {}
swr@2.3.3(react@18.3.1):
@@ -18714,23 +20286,22 @@ snapshots:
mkdirp: 3.0.1
yallist: 5.0.0
+ tdigest@0.1.2:
+ dependencies:
+ bintrees: 1.0.2
+
term-size@2.2.1: {}
- terminal-link@3.0.0:
- dependencies:
- ansi-escapes: 5.0.0
- supports-hyperlinks: 2.3.0
-
- terser-webpack-plugin@5.3.14(@swc/core@1.3.101(@swc/helpers@0.5.2))(esbuild@0.19.11)(webpack@5.99.9):
+ terser-webpack-plugin@5.3.14(@swc/core@1.3.101(@swc/helpers@0.5.17))(esbuild@0.19.11)(webpack@5.99.9):
dependencies:
'@jridgewell/trace-mapping': 0.3.25
jest-worker: 27.5.1
schema-utils: 4.3.2
serialize-javascript: 6.0.2
terser: 5.42.0
- webpack: 5.99.9(@swc/core@1.3.101(@swc/helpers@0.5.2))(esbuild@0.19.11)
+ webpack: 5.99.9(@swc/core@1.3.101(@swc/helpers@0.5.17))(esbuild@0.19.11)
optionalDependencies:
- '@swc/core': 1.3.101(@swc/helpers@0.5.2)
+ '@swc/core': 1.3.101(@swc/helpers@0.5.17)
esbuild: 0.19.11
terser-webpack-plugin@5.3.14(esbuild@0.25.5)(webpack@5.99.9(esbuild@0.25.5)):
@@ -18778,6 +20349,12 @@ snapshots:
fdir: 6.4.6(picomatch@4.0.2)
picomatch: 4.0.2
+ tippy.js@6.3.7:
+ dependencies:
+ '@popperjs/core': 2.11.8
+
+ tiptap-extension-global-drag-handle@0.1.18: {}
+
tmp@0.0.33:
dependencies:
os-tmpdir: 1.0.2
@@ -18837,7 +20414,7 @@ snapshots:
tslib@2.8.1: {}
- tsup@8.5.0(@swc/core@1.3.101(@swc/helpers@0.5.2))(jiti@2.4.2)(postcss@8.5.5)(typescript@5.8.3)(yaml@2.8.0):
+ tsup@8.5.0(@swc/core@1.3.101(@swc/helpers@0.5.17))(jiti@2.4.2)(postcss@8.5.5)(typescript@5.8.3)(yaml@2.8.0):
dependencies:
bundle-require: 5.1.0(esbuild@0.25.5)
cac: 6.7.14
@@ -18857,7 +20434,7 @@ snapshots:
tinyglobby: 0.2.14
tree-kill: 1.2.2
optionalDependencies:
- '@swc/core': 1.3.101(@swc/helpers@0.5.2)
+ '@swc/core': 1.3.101(@swc/helpers@0.5.17)
postcss: 8.5.5
typescript: 5.8.3
transitivePeerDependencies:
@@ -18881,6 +20458,14 @@ snapshots:
wcwidth: 1.0.1
yargs: 17.7.2
+ tunnel-rat@0.1.2(@types/react@18.2.69)(react@18.3.1):
+ dependencies:
+ zustand: 4.5.7(@types/react@18.2.69)(react@18.3.1)
+ transitivePeerDependencies:
+ - '@types/react'
+ - immer
+ - react
+
turbo-darwin-64@2.5.4:
optional: true
@@ -18924,8 +20509,6 @@ snapshots:
type-fest@0.8.1: {}
- type-fest@1.4.0: {}
-
type-fest@4.41.0: {}
type-is@1.6.18:
@@ -18978,6 +20561,8 @@ snapshots:
typescript@5.8.3: {}
+ uc.micro@2.1.0: {}
+
ufo@1.6.1: {}
uglify-js@3.19.3:
@@ -18996,6 +20581,8 @@ snapshots:
undici-types@5.26.5: {}
+ undici-types@6.21.0: {}
+
undici-types@7.8.0: {}
undici@6.21.3: {}
@@ -19012,6 +20599,16 @@ snapshots:
trough: 2.2.0
vfile: 5.3.7
+ unified@11.0.5:
+ dependencies:
+ '@types/unist': 3.0.3
+ bail: 2.0.2
+ devlop: 1.1.0
+ extend: 3.0.2
+ is-plain-obj: 4.1.0
+ trough: 2.2.0
+ vfile: 6.0.3
+
unique-filename@3.0.0:
dependencies:
unique-slug: 4.0.0
@@ -19026,6 +20623,10 @@ snapshots:
dependencies:
'@types/unist': 2.0.11
+ unist-util-is@6.0.0:
+ dependencies:
+ '@types/unist': 3.0.3
+
unist-util-position-from-estree@1.1.2:
dependencies:
'@types/unist': 2.0.11
@@ -19034,6 +20635,10 @@ snapshots:
dependencies:
'@types/unist': 2.0.11
+ unist-util-position@5.0.0:
+ dependencies:
+ '@types/unist': 3.0.3
+
unist-util-remove-position@4.0.2:
dependencies:
'@types/unist': 2.0.11
@@ -19043,17 +20648,32 @@ snapshots:
dependencies:
'@types/unist': 2.0.11
+ unist-util-stringify-position@4.0.0:
+ dependencies:
+ '@types/unist': 3.0.3
+
unist-util-visit-parents@5.1.3:
dependencies:
'@types/unist': 2.0.11
unist-util-is: 5.2.1
+ unist-util-visit-parents@6.0.1:
+ dependencies:
+ '@types/unist': 3.0.3
+ unist-util-is: 6.0.0
+
unist-util-visit@4.1.2:
dependencies:
'@types/unist': 2.0.11
unist-util-is: 5.2.1
unist-util-visit-parents: 5.1.3
+ unist-util-visit@5.0.0:
+ dependencies:
+ '@types/unist': 3.0.3
+ unist-util-is: 6.0.0
+ unist-util-visit-parents: 6.0.1
+
universalify@0.1.2: {}
universalify@2.0.1: {}
@@ -19169,6 +20789,11 @@ snapshots:
'@types/unist': 2.0.11
unist-util-stringify-position: 3.0.3
+ vfile-message@4.0.2:
+ dependencies:
+ '@types/unist': 3.0.3
+ unist-util-stringify-position: 4.0.0
+
vfile@5.3.7:
dependencies:
'@types/unist': 2.0.11
@@ -19176,6 +20801,11 @@ snapshots:
unist-util-stringify-position: 3.0.3
vfile-message: 3.1.4
+ vfile@6.0.3:
+ dependencies:
+ '@types/unist': 3.0.3
+ vfile-message: 4.0.2
+
vite-node@1.6.1(@types/node@18.19.115)(lightningcss@1.30.1)(terser@5.42.0):
dependencies:
cac: 6.7.14
@@ -19253,6 +20883,8 @@ snapshots:
terser: 5.42.0
yaml: 2.8.0
+ w3c-keyname@2.2.8: {}
+
watchpack@2.4.4:
dependencies:
glob-to-regexp: 0.4.1
@@ -19278,7 +20910,7 @@ snapshots:
webpack-sources@3.3.2: {}
- webpack@5.99.9(@swc/core@1.3.101(@swc/helpers@0.5.2))(esbuild@0.19.11):
+ webpack@5.99.9(@swc/core@1.3.101(@swc/helpers@0.5.17))(esbuild@0.19.11):
dependencies:
'@types/eslint-scope': 3.7.7
'@types/estree': 1.0.8
@@ -19301,7 +20933,7 @@ snapshots:
neo-async: 2.6.2
schema-utils: 4.3.2
tapable: 2.2.2
- terser-webpack-plugin: 5.3.14(@swc/core@1.3.101(@swc/helpers@0.5.2))(esbuild@0.19.11)(webpack@5.99.9)
+ terser-webpack-plugin: 5.3.14(@swc/core@1.3.101(@swc/helpers@0.5.17))(esbuild@0.19.11)(webpack@5.99.9)
watchpack: 2.4.4
webpack-sources: 3.3.2
transitivePeerDependencies:
@@ -19507,4 +21139,11 @@ snapshots:
zod@3.23.8: {}
+ zustand@4.5.7(@types/react@18.2.69)(react@18.3.1):
+ dependencies:
+ use-sync-external-store: 1.5.0(react@18.3.1)
+ optionalDependencies:
+ '@types/react': 18.2.69
+ react: 18.3.1
+
zwitch@2.0.4: {}
diff --git a/turbo.json b/turbo.json
index 252e703..cad65a9 100644
--- a/turbo.json
+++ b/turbo.json
@@ -34,7 +34,8 @@
"dependsOn": [ "^generate" ]
},
"trigger:dev": {
-
+ "interactive": true,
+ "cache": false
}
},
"globalDependencies": [ ".env" ],
@@ -66,6 +67,8 @@
"OLLAMA_URL",
"TRIGGER_PROJECT_ID",
"TRIGGER_API_URL",
- "TRIGGER_API_KEY"
+ "TRIGGER_SECRET_KEY",
+ "EMBEDDING_MODEL",
+ "MODEL"
]
}