Fix: Share-log bugs (#9172)

### What problem does this PR solve?

Fix Share-log bugs #3221

### Type of change

- [x] Bug Fix (non-breaking change which fixes an issue)
This commit is contained in:
chanx
2025-08-01 21:55:49 +08:00
committed by GitHub
parent a16cd4f110
commit 47ba683728
4 changed files with 93 additions and 48 deletions

View File

@ -12,6 +12,7 @@ import {
AccordionTrigger,
} from '@/components/ui/accordion';
import { cn } from '@/lib/utils';
import { isEmpty } from 'lodash';
import { Operator } from '../constant';
import OperatorIcon from '../operator-icon';
import {
@ -19,7 +20,20 @@ import {
toLowerCaseStringAndDeleteChar,
typeMap,
} from './workFlowTimeline';
const capitalizeWords = (str: string, separator: string = '_'): string => {
if (!str) return '';
return str
.split(separator)
.map((word) => {
return word.charAt(0).toUpperCase() + word.slice(1).toLowerCase();
})
.join(' ');
};
const changeToolName = (toolName: any) => {
const name = 'Agent ' + capitalizeWords(toolName);
return name;
};
const ToolTimelineItem = ({
tools,
sendLoading = false,
@ -34,16 +48,7 @@ const ToolTimelineItem = ({
const filteredTools = tools.filter(
(tool) => !blackList.includes(tool.tool_name),
);
const capitalizeWords = (str: string, separator: string = '_'): string => {
if (!str) return '';
return str
.split(separator)
.map((word) => {
return word.charAt(0).toUpperCase() + word.slice(1).toLowerCase();
})
.join(' ');
};
const parentName = (str: string, separator: string = '-->') => {
if (!str) return '';
const strs = str.split(separator);
@ -124,13 +129,11 @@ const ToolTimelineItem = ({
)}
{isShare && (
<span>
{
typeMap[
toLowerCaseStringAndDeleteChar(
tool.tool_name,
) as keyof typeof typeMap
]
}
{typeMap[
toLowerCaseStringAndDeleteChar(
tool.tool_name,
) as keyof typeof typeMap
] ?? changeToolName(tool.tool_name)}
</span>
)}
<span className="text-text-sub-title text-xs">
@ -146,22 +149,37 @@ const ToolTimelineItem = ({
</span>
</div>
</AccordionTrigger>
<AccordionContent>
<div className="space-y-2">
{!isShare && (
{!isShare && (
<AccordionContent>
<div className="space-y-2">
<JsonViewer
data={tool.result}
title="content"
></JsonViewer>
)}
{isShare && (
<JsonViewer
data={tool.result}
title={''}
></JsonViewer>
)}
</div>
</AccordionContent>
</div>
</AccordionContent>
)}
{isShare && !isEmpty(tool.arguments) && (
<AccordionContent>
<div className="space-y-2">
{tool &&
tool.arguments &&
Object.entries(tool.arguments).length &&
Object.entries(tool.arguments).map(([key, val]) => {
return (
<div key={key}>
<div className="text-sm font-medium leading-none">
{key}
</div>
<div className="text-sm text-muted-foreground">
{val || ''}
</div>
</div>
);
})}
</div>
</AccordionContent>
)}
</AccordionItem>
</Accordion>
</section>