mirror of
https://github.com/langgenius/dify.git
synced 2026-05-06 10:28:10 +08:00
feat: tool new struct
This commit is contained in:
@ -8,9 +8,6 @@ import type { KnowledgeRetrievalNodeType } from '../../../knowledge-retrieval/ty
|
||||
import type { IfElseNodeType } from '../../../if-else/types'
|
||||
import type { TemplateTransformNodeType } from '../../../template-transform/types'
|
||||
import type { QuestionClassifierNodeType } from '../../../question-classifier/types'
|
||||
import type { HttpNodeType } from '../../../http/types'
|
||||
import type { ToolNodeType } from '../../../tool/types'
|
||||
import { VarType as VarKindType } from '../../../tool/types'
|
||||
import { BlockEnum, InputVarType, VarType } from '@/app/components/workflow/types'
|
||||
import type { StartNodeType } from '@/app/components/workflow/nodes/start/types'
|
||||
import type { Node, NodeOutPutVar, ValueSelector, Var } from '@/app/components/workflow/types'
|
||||
@ -236,9 +233,8 @@ export const getNodeUsedVars = (node: Node): ValueSelector[] => {
|
||||
break
|
||||
}
|
||||
case BlockEnum.LLM: {
|
||||
const inputVars = (data as LLMNodeType)?.variables.map((v) => {
|
||||
return v.value_selector
|
||||
})
|
||||
// TODO: get var in inputs
|
||||
const inputVars: ValueSelector[] = []
|
||||
|
||||
const contextVar = (data as LLMNodeType).context?.variable_selector ? [(data as LLMNodeType).context?.variable_selector] : []
|
||||
res = [...inputVars, ...contextVar]
|
||||
@ -271,17 +267,11 @@ export const getNodeUsedVars = (node: Node): ValueSelector[] => {
|
||||
break
|
||||
}
|
||||
case BlockEnum.HttpRequest: {
|
||||
res = (data as HttpNodeType).variables?.map((v) => {
|
||||
return v.value_selector
|
||||
})
|
||||
// TODO: get var in inputs
|
||||
break
|
||||
}
|
||||
case BlockEnum.Tool: {
|
||||
res = (data as ToolNodeType).tool_parameters?.filter((v) => {
|
||||
return v.variable_type === VarKindType.selector
|
||||
}).map((v) => {
|
||||
return v.value_selector || []
|
||||
})
|
||||
// TODO: get var in inputs
|
||||
break
|
||||
}
|
||||
|
||||
@ -331,13 +321,14 @@ export const updateNodeVars = (oldNode: Node, oldVarSelector: ValueSelector, new
|
||||
}
|
||||
case BlockEnum.LLM: {
|
||||
const payload = data as LLMNodeType
|
||||
if (payload.variables) {
|
||||
payload.variables = payload.variables.map((v) => {
|
||||
if (v.value_selector.join('.') === oldVarSelector.join('.'))
|
||||
v.value_selector = newVarSelector
|
||||
return v
|
||||
})
|
||||
}
|
||||
// TODO: update in inputs
|
||||
// if (payload.variables) {
|
||||
// payload.variables = payload.variables.map((v) => {
|
||||
// if (v.value_selector.join('.') === oldVarSelector.join('.'))
|
||||
// v.value_selector = newVarSelector
|
||||
// return v
|
||||
// })
|
||||
// }
|
||||
if (payload.context?.variable_selector?.join('.') === oldVarSelector.join('.'))
|
||||
payload.context.variable_selector = newVarSelector
|
||||
|
||||
@ -389,28 +380,30 @@ export const updateNodeVars = (oldNode: Node, oldVarSelector: ValueSelector, new
|
||||
break
|
||||
}
|
||||
case BlockEnum.HttpRequest: {
|
||||
const payload = data as HttpNodeType
|
||||
if (payload.variables) {
|
||||
payload.variables = payload.variables.map((v) => {
|
||||
if (v.value_selector.join('.') === oldVarSelector.join('.'))
|
||||
v.value_selector = newVarSelector
|
||||
return v
|
||||
})
|
||||
}
|
||||
// TODO: update in inputs
|
||||
// const payload = data as HttpNodeType
|
||||
// if (payload.variables) {
|
||||
// payload.variables = payload.variables.map((v) => {
|
||||
// if (v.value_selector.join('.') === oldVarSelector.join('.'))
|
||||
// v.value_selector = newVarSelector
|
||||
// return v
|
||||
// })
|
||||
// }
|
||||
break
|
||||
}
|
||||
case BlockEnum.Tool: {
|
||||
const payload = data as ToolNodeType
|
||||
if (payload.tool_parameters) {
|
||||
payload.tool_parameters = payload.tool_parameters.map((v) => {
|
||||
if (v.variable_type === VarKindType.static)
|
||||
return v
|
||||
// TODO: update in inputs
|
||||
// const payload = data as ToolNodeType
|
||||
// if (payload.tool_parameters) {
|
||||
// payload.tool_parameters = payload.tool_parameters.map((v) => {
|
||||
// if (v.type === VarKindType.static)
|
||||
// return v
|
||||
|
||||
if (v.value_selector?.join('.') === oldVarSelector.join('.'))
|
||||
v.value_selector = newVarSelector
|
||||
return v
|
||||
})
|
||||
}
|
||||
// if (v.value_selector?.join('.') === oldVarSelector.join('.'))
|
||||
// v.value_selector = newVarSelector
|
||||
// return v
|
||||
// })
|
||||
// }
|
||||
break
|
||||
}
|
||||
case BlockEnum.VariableAssigner: {
|
||||
|
||||
Reference in New Issue
Block a user