mirror of https://github.com/langgenius/dify.git
feat: http support debug and remove mock init debug data
This commit is contained in:
parent
c20c9b53e1
commit
49ce9d2200
|
|
@ -42,7 +42,7 @@ const FormItem: FC<Props> = ({
|
|||
}, [value, onChange])
|
||||
return (
|
||||
<div className='flex justify-between items-start'>
|
||||
{type !== InputVarType.contexts && <div className='shrink-0 w-[96px] pr-1 h-8 leading-8 text-[13px] font-medium text-gray-700 capitalize truncate'>{payload.label}</div>}
|
||||
{type !== InputVarType.contexts && <div className='shrink-0 w-[96px] pr-1 h-8 leading-8 text-[13px] font-medium text-gray-700 truncate'>{payload.label}</div>}
|
||||
<div className='w-0 grow'>
|
||||
{
|
||||
type === InputVarType.textInput && (
|
||||
|
|
|
|||
|
|
@ -7,10 +7,11 @@ type Params<T> = {
|
|||
id: string
|
||||
data: CommonNodeType<T>
|
||||
defaultRunInputData: Record<string, any>
|
||||
isInvalid?: () => boolean
|
||||
}
|
||||
|
||||
const useOneStepRun = <T>({ id, data, defaultRunInputData }: Params<T>) => {
|
||||
const { handleNodeDataUpdate } = useWorkflow()
|
||||
const useOneStepRun = <T>({ id, data, defaultRunInputData, isInvalid = () => true }: Params<T>) => {
|
||||
const { handleNodeDataUpdate }: { handleNodeDataUpdate: (data: any) => void } = useWorkflow()
|
||||
const isShowSingleRun = data._isSingleRun
|
||||
const hideSingleRun = () => {
|
||||
handleNodeDataUpdate({
|
||||
|
|
@ -24,6 +25,9 @@ const useOneStepRun = <T>({ id, data, defaultRunInputData }: Params<T>) => {
|
|||
|
||||
const [runningStatus, setRunningStatus] = useState('un started')
|
||||
const handleRun = () => {
|
||||
if (isInvalid())
|
||||
return
|
||||
|
||||
setRunningStatus('running')
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -45,10 +45,7 @@ const useConfig = (id: string, payload: CodeNodeType) => {
|
|||
} = useOneStepRun<CodeNodeType>({
|
||||
id,
|
||||
data: inputs,
|
||||
defaultRunInputData: {
|
||||
name: 'Joel',
|
||||
age: '18',
|
||||
},
|
||||
defaultRunInputData: {},
|
||||
})
|
||||
const varInputs = toVarInputs(inputs.variables)
|
||||
|
||||
|
|
|
|||
|
|
@ -14,6 +14,8 @@ import Split from '@/app/components/workflow/nodes/_base/components/split'
|
|||
import OutputVars, { VarItem } from '@/app/components/workflow/nodes/_base/components/output-vars'
|
||||
import { Settings01 } from '@/app/components/base/icons/src/vender/line/general'
|
||||
import type { NodePanelProps } from '@/app/components/workflow/types'
|
||||
import BeforeRunForm from '@/app/components/workflow/nodes/_base/components/before-run-form'
|
||||
|
||||
const i18nPrefix = 'workflow.nodes.http'
|
||||
|
||||
const Panel: FC<NodePanelProps<HttpNodeType>> = ({
|
||||
|
|
@ -44,6 +46,15 @@ const Panel: FC<NodePanelProps<HttpNodeType>> = ({
|
|||
showAuthorization,
|
||||
hideAuthorization,
|
||||
setAuthorization,
|
||||
// single run
|
||||
isShowSingleRun,
|
||||
hideSingleRun,
|
||||
runningStatus,
|
||||
handleRun,
|
||||
handleStop,
|
||||
varInputs,
|
||||
inputVarValues,
|
||||
setInputVarValues,
|
||||
} = useConfig(id, data)
|
||||
|
||||
return (
|
||||
|
|
@ -148,6 +159,22 @@ const Panel: FC<NodePanelProps<HttpNodeType>> = ({
|
|||
</>
|
||||
</OutputVars>
|
||||
</div>
|
||||
{isShowSingleRun && (
|
||||
<BeforeRunForm
|
||||
nodeName={inputs.title}
|
||||
onHide={hideSingleRun}
|
||||
forms={[
|
||||
{
|
||||
inputs: varInputs,
|
||||
values: inputVarValues,
|
||||
onChange: setInputVarValues,
|
||||
},
|
||||
]}
|
||||
runningStatus={runningStatus}
|
||||
onRun={handleRun}
|
||||
onStop={handleStop}
|
||||
/>
|
||||
)}
|
||||
</div >
|
||||
)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import useVarList from '../_base/hooks/use-var-list'
|
|||
import type { Authorization, Body, HttpNodeType, Method } from './types'
|
||||
import useKeyValueList from './hooks/use-key-value-list'
|
||||
import useNodeCrud from '@/app/components/workflow/nodes/_base/hooks/use-node-crud'
|
||||
import useOneStepRun from '@/app/components/workflow/nodes/_base/hooks/use-one-step-run'
|
||||
|
||||
const useConfig = (id: string, payload: HttpNodeType) => {
|
||||
const { inputs, setInputs } = useNodeCrud<HttpNodeType>(id, payload)
|
||||
|
|
@ -64,6 +65,36 @@ const useConfig = (id: string, payload: HttpNodeType) => {
|
|||
setInputs(newInputs)
|
||||
}, [inputs, setInputs])
|
||||
|
||||
// single run
|
||||
const {
|
||||
isShowSingleRun,
|
||||
hideSingleRun,
|
||||
toVarInputs,
|
||||
runningStatus,
|
||||
handleRun,
|
||||
handleStop,
|
||||
runInputData,
|
||||
setRunInputData,
|
||||
} = useOneStepRun<HttpNodeType>({
|
||||
id,
|
||||
data: inputs,
|
||||
defaultRunInputData: {},
|
||||
})
|
||||
const varInputs = toVarInputs(inputs.variables)
|
||||
|
||||
const inputVarValues = (() => {
|
||||
const vars: Record<string, any> = {}
|
||||
Object.keys(runInputData)
|
||||
.forEach((key) => {
|
||||
vars[key] = runInputData[key]
|
||||
})
|
||||
return vars
|
||||
})()
|
||||
|
||||
const setInputVarValues = useCallback((newPayload: Record<string, any>) => {
|
||||
setRunInputData(newPayload)
|
||||
}, [runInputData, setRunInputData])
|
||||
|
||||
return {
|
||||
inputs,
|
||||
handleVarListChange,
|
||||
|
|
@ -89,6 +120,15 @@ const useConfig = (id: string, payload: HttpNodeType) => {
|
|||
showAuthorization,
|
||||
hideAuthorization,
|
||||
setAuthorization,
|
||||
// single run
|
||||
isShowSingleRun,
|
||||
hideSingleRun,
|
||||
runningStatus,
|
||||
handleRun,
|
||||
handleStop,
|
||||
varInputs,
|
||||
inputVarValues,
|
||||
setInputVarValues,
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -68,7 +68,7 @@ const useConfig = (id: string, payload: KnowledgeRetrievalNodeType) => {
|
|||
id,
|
||||
data: inputs,
|
||||
defaultRunInputData: {
|
||||
query: 'What is the capital of France?',
|
||||
query: '',
|
||||
},
|
||||
})
|
||||
|
||||
|
|
|
|||
|
|
@ -103,8 +103,6 @@ const useConfig = (id: string, payload: LLMNodeType) => {
|
|||
id,
|
||||
data: inputs,
|
||||
defaultRunInputData: {
|
||||
'name': 'Joel',
|
||||
'age': '18',
|
||||
'#context#': [RETRIEVAL_OUTPUT_STRUCT],
|
||||
'#vision#': [],
|
||||
},
|
||||
|
|
|
|||
|
|
@ -66,7 +66,7 @@ const useConfig = (id: string, payload: QuestionClassifierNodeType) => {
|
|||
id,
|
||||
data: inputs,
|
||||
defaultRunInputData: {
|
||||
query: 'Negative or positive sentiment?',
|
||||
query: '',
|
||||
},
|
||||
})
|
||||
|
||||
|
|
|
|||
|
|
@ -32,10 +32,7 @@ const useConfig = (id: string, payload: TemplateTransformNodeType) => {
|
|||
} = useOneStepRun<TemplateTransformNodeType>({
|
||||
id,
|
||||
data: inputs,
|
||||
defaultRunInputData: {
|
||||
name: 'Joel',
|
||||
age: '18',
|
||||
},
|
||||
defaultRunInputData: {},
|
||||
})
|
||||
const varInputs = toVarInputs(inputs.variables)
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue