From a430284aa21e3ae1f0d5654e55b2ad2852519cc2 Mon Sep 17 00:00:00 2001
From: wwf <yearningwang@iqtogether.com>
Date: 星期三, 04 六月 2025 15:17:49 +0800
Subject: [PATCH] 初始化

---
 app/components/workflow/nodes/tool/panel.tsx |   63 +++++++------------------------
 1 files changed, 15 insertions(+), 48 deletions(-)

diff --git a/app/components/workflow/nodes/tool/panel.tsx b/app/components/workflow/nodes/tool/panel.tsx
index 8596644..d0d4c3a 100644
--- a/app/components/workflow/nodes/tool/panel.tsx
+++ b/app/components/workflow/nodes/tool/panel.tsx
@@ -1,5 +1,5 @@
 import type { FC } from 'react'
-import React, { useMemo } from 'react'
+import React from 'react'
 import { useTranslation } from 'react-i18next'
 import Split from '../_base/components/split'
 import type { ToolNodeType } from './types'
@@ -14,11 +14,8 @@
 import BeforeRunForm from '@/app/components/workflow/nodes/_base/components/before-run-form'
 import OutputVars, { VarItem } from '@/app/components/workflow/nodes/_base/components/output-vars'
 import ResultPanel from '@/app/components/workflow/run/result-panel'
+import { useRetryDetailShowInSingleRun } from '@/app/components/workflow/nodes/_base/components/retry/hooks'
 import { useToolIcon } from '@/app/components/workflow/hooks'
-import { useLogs } from '@/app/components/workflow/run/hooks'
-import formatToTracingNodeList from '@/app/components/workflow/run/utils/format-log'
-import StructureOutputItem from '@/app/components/workflow/nodes/_base/components/variable/object-child-tree-panel/show'
-import { Type } from '../llm/types'
 
 const i18nPrefix = 'workflow.nodes.tool'
 
@@ -52,16 +49,12 @@
     handleRun,
     handleStop,
     runResult,
-    outputSchema,
-    hasObjectOutput,
   } = useConfig(id, data)
   const toolIcon = useToolIcon(data)
-  const logsParams = useLogs()
-  const nodeInfo = useMemo(() => {
-    if (!runResult)
-      return null
-    return formatToTracingNodeList([runResult], t)[0]
-  }, [runResult, t])
+  const {
+    retryDetails,
+    handleRetryDetailsChange,
+  } = useRetryDetailShowInSingleRun()
 
   if (isLoading) {
     return <div className='flex h-[200px] items-center justify-center'>
@@ -85,7 +78,7 @@
         </>
       )}
       {!isShowAuthBtn && <>
-        <div className='space-y-4 px-4'>
+        <div className='px-4 space-y-4'>
           {toolInputVarSchema.length > 0 && (
             <Field
               title={t(`${i18nPrefix}.inputVars`)}
@@ -110,14 +103,14 @@
           <Form
             className='space-y-4'
             itemClassName='!py-0'
-            fieldLabelClassName='!text-[13px] !font-semibold !text-text-secondary uppercase'
+            fieldLabelClassName='!text-[13px] !font-semibold !text-gray-700 uppercase'
             value={toolSettingValue}
             onChange={setToolSettingValue}
             formSchemas={toolSettingSchema as any}
             isEditMode={false}
             showOnVariableMap={{}}
             validating={false}
-            // inputClassName='!bg-gray-50'
+            inputClassName='!bg-gray-50'
             readonly={readOnly}
           />
         </div>
@@ -137,46 +130,19 @@
           <>
             <VarItem
               name='text'
-              type='string'
+              type='String'
               description={t(`${i18nPrefix}.outputVars.text`)}
-              isIndent={hasObjectOutput}
             />
             <VarItem
               name='files'
-              type='array[file]'
+              type='Array[File]'
               description={t(`${i18nPrefix}.outputVars.files.title`)}
-              isIndent={hasObjectOutput}
             />
             <VarItem
               name='json'
-              type='array[object]'
+              type='Array[Object]'
               description={t(`${i18nPrefix}.outputVars.json`)}
-              isIndent={hasObjectOutput}
             />
-            {outputSchema.map(outputItem => (
-              <div key={outputItem.name}>
-                {outputItem.value?.type === 'object' ? (
-                  <StructureOutputItem
-                    rootClassName='code-sm-semibold text-text-secondary'
-                    payload={{
-                      schema: {
-                        type: Type.object,
-                        properties: {
-                          [outputItem.name]: outputItem.value,
-                        },
-                        additionalProperties: false,
-                      },
-                    }} />
-                ) : (
-                  <VarItem
-                    name={outputItem.name}
-                    type={outputItem.type.toLocaleLowerCase()}
-                    description={outputItem.description}
-                    isIndent={hasObjectOutput}
-                  />
-                )}
-              </div>
-            ))}
           </>
         </OutputVars>
       </div>
@@ -191,8 +157,9 @@
           runningStatus={runningStatus}
           onRun={handleRun}
           onStop={handleStop}
-          {...logsParams}
-          result={<ResultPanel {...runResult} showSteps={false} {...logsParams} nodeInfo={nodeInfo} />}
+          retryDetails={retryDetails}
+          onRetryDetailBack={handleRetryDetailsChange}
+          result={<ResultPanel {...runResult} showSteps={false} onShowRetryDetail={handleRetryDetailsChange} />}
         />
       )}
     </div>

--
Gitblit v1.8.0