Merge remote-tracking branch 'upstream/dev' into refactor/persistent-memory

This commit is contained in:
Anish Sarkar 2026-04-09 15:33:23 +05:30
commit ab3cb0e1c5
63 changed files with 6320 additions and 4823 deletions

View file

@ -46,7 +46,6 @@ import { useParams } from "next/navigation";
import { useTranslations } from "next-intl";
import React, { useCallback, useContext, useEffect, useId, useMemo, useRef, useState } from "react";
import { toast } from "sonner";
import { useDebouncedValue } from "@/hooks/use-debounced-value";
import {
createLogMutationAtom,
deleteLogMutationAtom,
@ -96,6 +95,7 @@ import {
TableRow,
} from "@/components/ui/table";
import type { CreateLogRequest, Log, UpdateLogRequest } from "@/contracts/types/log.types";
import { useDebouncedValue } from "@/hooks/use-debounced-value";
import { type LogLevel, type LogStatus, useLogs, useLogsSummary } from "@/hooks/use-logs";
import { cn } from "@/lib/utils";
@ -728,10 +728,7 @@ function LogsFilters({
<motion.div className="relative w-full sm:w-auto" variants={fadeInScale}>
<Input
ref={inputRef}
className={cn(
"peer w-full sm:min-w-60 ps-9",
Boolean(filterInput) && "pe-9"
)}
className={cn("peer w-full sm:min-w-60 ps-9", Boolean(filterInput) && "pe-9")}
value={filterInput}
onChange={(e) => setFilterInput(e.target.value)}
placeholder={t("filter_by_message")}

View file

@ -40,20 +40,8 @@ import { ThinkingStepsDataUI } from "@/components/assistant-ui/thinking-steps";
import { Thread } from "@/components/assistant-ui/thread";
import { useChatSessionStateSync } from "@/hooks/use-chat-session-state";
import { useMessagesSync } from "@/hooks/use-messages-sync";
import { getBearerToken } from "@/lib/auth-utils";
import { documentsApiService } from "@/lib/apis/documents-api.service";
import {
type ContentPartsState,
FrameBatchedUpdater,
type ThinkingStepData,
addToolCall,
appendText,
buildContentForPersistence,
buildContentForUI,
readSSEStream,
updateThinkingSteps,
updateToolCall,
} from "@/lib/chat/streaming-state";
import { getBearerToken } from "@/lib/auth-utils";
import { convertToThreadMessage } from "@/lib/chat/message-utils";
import {
isPodcastGenerating,
@ -61,12 +49,24 @@ import {
setActivePodcastTaskId,
} from "@/lib/chat/podcast-state";
import {
type ThreadRecord,
addToolCall,
appendText,
buildContentForPersistence,
buildContentForUI,
type ContentPartsState,
FrameBatchedUpdater,
readSSEStream,
type ThinkingStepData,
updateThinkingSteps,
updateToolCall,
} from "@/lib/chat/streaming-state";
import {
appendMessage,
createThread,
getRegenerateUrl,
getThreadFull,
getThreadMessages,
type ThreadRecord,
} from "@/lib/chat/thread-persistence";
import { NotFoundError } from "@/lib/error";
import {
@ -78,15 +78,24 @@ import {
import Loading from "../loading";
const MobileEditorPanel = dynamic(
() => import("@/components/editor-panel/editor-panel").then((m) => ({ default: m.MobileEditorPanel })),
() =>
import("@/components/editor-panel/editor-panel").then((m) => ({
default: m.MobileEditorPanel,
})),
{ ssr: false }
);
const MobileHitlEditPanel = dynamic(
() => import("@/components/hitl-edit-panel/hitl-edit-panel").then((m) => ({ default: m.MobileHitlEditPanel })),
() =>
import("@/components/hitl-edit-panel/hitl-edit-panel").then((m) => ({
default: m.MobileHitlEditPanel,
})),
{ ssr: false }
);
const MobileReportPanel = dynamic(
() => import("@/components/report-panel/report-panel").then((m) => ({ default: m.MobileReportPanel })),
() =>
import("@/components/report-panel/report-panel").then((m) => ({
default: m.MobileReportPanel,
})),
{ ssr: false }
);