diff --git a/frontend/src/components/workspace/input-box.tsx b/frontend/src/components/workspace/input-box.tsx
index 057fbc1..880dc60 100644
--- a/frontend/src/components/workspace/input-box.tsx
+++ b/frontend/src/components/workspace/input-box.tsx
@@ -1,10 +1,5 @@
import type { ChatStatus } from "ai";
-import {
- BoxIcon,
- CheckIcon,
- LightbulbIcon,
- LightbulbOffIcon,
-} from "lucide-react";
+import { CheckIcon, LightbulbIcon, LightbulbOffIcon } from "lucide-react";
import { useCallback, useMemo, useState, type ComponentProps } from "react";
import {
diff --git a/frontend/src/components/workspace/messages/message-list.tsx b/frontend/src/components/workspace/messages/message-list.tsx
index 9f50dd4..97c11fe 100644
--- a/frontend/src/components/workspace/messages/message-list.tsx
+++ b/frontend/src/components/workspace/messages/message-list.tsx
@@ -36,43 +36,39 @@ export function MessageList({
className={cn("flex size-full flex-col justify-center", className)}
>
- {groupMessages(
- thread.messages,
- (group) => {
- if (group.type === "human" || group.type === "assistant") {
- return (
-
- );
- }
- if (group.type === "assistant:present-files") {
- const files = [];
- for (const message of group.messages) {
- if (hasPresentFiles(message)) {
- files.push(...extractPresentFilesFromMessage(message));
- }
- }
- return (
-
- );
- }
+ {groupMessages(thread.messages, (group) => {
+ if (group.type === "human" || group.type === "assistant") {
return (
-
);
- },
- thread.isLoading,
- )}
+ }
+ if (group.type === "assistant:present-files") {
+ const files = [];
+ for (const message of group.messages) {
+ if (hasPresentFiles(message)) {
+ files.push(...extractPresentFilesFromMessage(message));
+ }
+ }
+ return (
+
+ );
+ }
+ return (
+
+ );
+ })}
{thread.isLoading && }
diff --git a/frontend/src/core/messages/utils.ts b/frontend/src/core/messages/utils.ts
index 2812754..faa137e 100644
--- a/frontend/src/core/messages/utils.ts
+++ b/frontend/src/core/messages/utils.ts
@@ -23,7 +23,6 @@ type MessageGroup =
export function groupMessages(
messages: Message[],
mapper: (group: MessageGroup) => T,
- isLoading = false,
): T[] {
if (messages.length === 0) {
return [];
@@ -86,25 +85,28 @@ export function groupMessages(
}
}
- if (!isLoading) {
- const lastGroup: MessageGroup | undefined = groups[groups.length - 1];
- if (
- lastGroup?.type === "assistant:processing" &&
- lastGroup.messages.length > 0
- ) {
- const reasoningContent = extractReasoningContentFromMessage(
- lastGroup.messages[lastGroup.messages.length - 1]!,
- );
- const content = extractContentFromMessage(
- lastGroup.messages[lastGroup.messages.length - 1]!,
- );
- if (reasoningContent && !content) {
- const group = groups.pop()!;
- group.type = "assistant";
- groups.push(group);
- }
- }
- }
+ // if (!isLoading) {
+ // const lastGroup: MessageGroup | undefined = groups[groups.length - 1];
+ // if (
+ // lastGroup?.type === "assistant:processing" &&
+ // lastGroup.messages.length > 0
+ // ) {
+ // const lastMessage = lastGroup.messages[lastGroup.messages.length - 1]!;
+ // const reasoningContent = extractReasoningContentFromMessage(lastMessage);
+ // const content = extractContentFromMessage(lastMessage);
+ // if (reasoningContent && !content) {
+ // lastGroup.messages.pop();
+ // if (lastGroup.messages.length === 0) {
+ // groups.pop();
+ // }
+ // groups.push({
+ // id: lastMessage.id,
+ // type: "assistant",
+ // messages: [lastMessage],
+ // });
+ // }
+ // }
+ // }
const resultsOfGroups: T[] = [];
for (const group of groups) {
@@ -162,6 +164,13 @@ export function extractReasoningContentFromMessage(message: Message) {
return null;
}
+export function removeReasoningContentFromMessage(message: Message) {
+ if (message.type !== "ai" || !message.additional_kwargs) {
+ return;
+ }
+ delete message.additional_kwargs.reasoning_content;
+}
+
export function extractURLFromImageURLContent(
content:
| string