| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 | 'use client'import { useTranslation } from 'react-i18next'import type { FC } from 'react'import ToolCall from './tool-call'import cn from '@/utils/classnames'import type { AgentIteration } from '@/models/log'type Props = {  isFinal: boolean  index: number  iterationInfo: AgentIteration}const Iteration: FC<Props> = ({ iterationInfo, isFinal, index }) => {  const { t } = useTranslation()  return (    <div className={cn('px-4 py-2')}>      <div className='flex items-center'>        {isFinal && (          <div className='shrink-0 mr-3 text-gray-500 text-xs leading-[18px] font-semibold'>{t('appLog.agentLogDetail.finalProcessing')}</div>        )}        {!isFinal && (          <div className='shrink-0 mr-3 text-gray-500 text-xs leading-[18px] font-semibold'>{`${t('appLog.agentLogDetail.iteration').toUpperCase()} ${index}`}</div>        )}        <div className='grow h-[1px] bg-gradient-to-r from-[#f3f4f6] to-gray-50'></div>      </div>      <ToolCall        isLLM        isFinal={isFinal}        tokens={iterationInfo.tokens}        observation={iterationInfo.tool_raw.outputs}        finalAnswer={iterationInfo.thought}        toolCall={{          status: 'success',          tool_icon: null,        }}      />      {iterationInfo.tool_calls.map((toolCall, index) => (        <ToolCall          isLLM={false}          key={index}          toolCall={toolCall}        />      ))}    </div>  )}export default Iteration
 |