Skip to content

Commit 0e86254

Browse files
authored
Merge branch 'staging' into ai-sdk-v5
2 parents f428fb5 + 70d2f6a commit 0e86254

File tree

6 files changed

+71
-393
lines changed

6 files changed

+71
-393
lines changed

apps/saru/app/api/chat/route.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,12 @@ import {
2121
import {
2222
generateUUID,
2323
getMostRecentUserMessage,
24-
parseMessageContent,
2524
convertToUIMessages,
2625
convertUIMessageToDBFormat,
2726
} from '@/lib/utils';
2827
import { generateTitleFromUserMessage } from '@/app/api/chat/actions/chat';
2928
import { updateDocument } from '@/lib/ai/tools/update-document';
3029
import { streamingDocument } from '@/lib/ai/tools/document-streaming';
31-
import { isProductionEnvironment } from '@/lib/constants';
3230
import { NextResponse } from 'next/server';
3331
import { myProvider } from '@/lib/ai/providers';
3432
import { auth } from "@/lib/auth";

apps/saru/components/chat/message.tsx

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -83,25 +83,19 @@ const PurePreviewMessage = ({
8383
const [mode, setMode] = useState<'view' | 'edit'>('view');
8484
console.log("[PreviewMessage] Rendering message:", message);
8585

86-
// Extract reasoning from parts array
8786
const reasoningPart = message.parts?.find(
8887
(part) => part.type === "reasoning"
8988
);
9089
const reasoningText = reasoningPart ? reasoningPart.text : "";
9190

92-
// Extract text content from parts array
9391
const textParts = message.parts?.filter((part) => part.type === "text") || [];
9492
const textContent = textParts.map((part) => part.text).join("");
9593

96-
// Extract tool parts from parts array (FIXED - was looking for 'tool-invocation')
9794
const toolParts =
9895
message.parts?.filter((part) => part.type?.startsWith("tool-")) || [];
9996

10097
console.log("[PreviewMessage] Tool parts found:", toolParts);
10198

102-
// Note: Live streaming into the editor is handled via Chat.onData → window events.
103-
// We intentionally avoid dispatching editor updates from message rendering.
104-
10599
return (
106100
<AnimatePresence>
107101
<motion.div

apps/saru/components/chat/multimodal-input.tsx

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,17 +19,13 @@ import {
1919
import { toast } from 'sonner';
2020
import { useLocalStorage, useWindowSize } from 'usehooks-ts';
2121
import { MentionsInput, Mention, type SuggestionDataItem, type MentionsInputProps } from 'react-mentions';
22-
23-
import { sanitizeUIMessages } from '@/lib/utils';
24-
2522
import { ArrowUpIcon, StopIcon, FileIcon } from '../icons';
2623
import { Button } from '../ui/button';
27-
import { Textarea } from '../ui/textarea';
2824
import { SuggestedActions } from '../suggested-actions';
2925
import equal from 'fast-deep-equal';
30-
import { UseChatHelpers, UseChatOptions, UseCompletionHelpers } from '@ai-sdk/react';
26+
import { UseChatHelpers } from '@ai-sdk/react';
3127
import { useDocument } from '@/hooks/use-document';
32-
import { cn, generateUUID } from '@/lib/utils';
28+
import { cn } from '@/lib/utils';
3329
import { useAiOptionsValue } from '@/hooks/ai-options';
3430

3531
interface DocumentSuggestion extends SuggestionDataItem {
@@ -491,7 +487,6 @@ function PureStopButton({
491487
onClick={(event) => {
492488
event.preventDefault();
493489
stop();
494-
setMessages((messages) => sanitizeUIMessages(messages));
495490
}}
496491
>
497492
<StopIcon size={14} />

apps/saru/components/document/document-tool.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
'use client';
2+
13
import { memo, useState, useCallback, useEffect } from 'react';
24
import dynamic from 'next/dynamic';
35

0 commit comments

Comments
 (0)