Indent tool cards under an active delegating task span.

This commit is contained in:
CREDO23 2026-05-09 00:39:59 +02:00
parent 39084b3075
commit e7c5204b02
4 changed files with 106 additions and 52 deletions

View file

@ -5,6 +5,7 @@ import {
AuiIf,
MessagePrimitive,
ThreadPrimitive,
type ToolCallMessagePartComponent,
useAuiState,
} from "@assistant-ui/react";
import { CheckIcon, CopyIcon } from "lucide-react";
@ -14,7 +15,7 @@ import { type FC, type ReactNode, useState } from "react";
import { CitationMetadataProvider } from "@/components/assistant-ui/citation-metadata-context";
import { MarkdownText } from "@/components/assistant-ui/markdown-text";
import { ReasoningMessagePart } from "@/components/assistant-ui/reasoning-message-part";
import { ToolFallback } from "@/components/assistant-ui/tool-fallback";
import { ToolFallback, withDelegationSpanIndent } from "@/components/assistant-ui/tool-fallback";
import { TooltipIconButton } from "@/components/assistant-ui/tooltip-icon-button";
import { GenerateImageToolUI } from "@/components/tool-ui/generate-image";
import { GeneratePodcastToolUI } from "@/components/tool-ui/generate-podcast";
@ -29,6 +30,8 @@ const GenerateVideoPresentationToolUI = dynamic(
{ ssr: false }
);
const NullToolUi: ToolCallMessagePartComponent = () => null;
interface PublicThreadProps {
footer?: ReactNode;
}
@ -162,18 +165,20 @@ const PublicAssistantMessage: FC = () => {
Reasoning: ReasoningMessagePart,
tools: {
by_name: {
generate_podcast: GeneratePodcastToolUI,
generate_report: GenerateReportToolUI,
generate_resume: GenerateResumeToolUI,
generate_video_presentation: GenerateVideoPresentationToolUI,
display_image: GenerateImageToolUI,
generate_image: GenerateImageToolUI,
web_search: () => null,
link_preview: () => null,
multi_link_preview: () => null,
scrape_webpage: () => null,
generate_podcast: withDelegationSpanIndent(GeneratePodcastToolUI),
generate_report: withDelegationSpanIndent(GenerateReportToolUI),
generate_resume: withDelegationSpanIndent(GenerateResumeToolUI),
generate_video_presentation: withDelegationSpanIndent(
GenerateVideoPresentationToolUI
),
display_image: withDelegationSpanIndent(GenerateImageToolUI),
generate_image: withDelegationSpanIndent(GenerateImageToolUI),
web_search: NullToolUi,
link_preview: NullToolUi,
multi_link_preview: NullToolUi,
scrape_webpage: NullToolUi,
},
Fallback: ToolFallback,
Fallback: withDelegationSpanIndent(ToolFallback),
},
}}
/>