Fix: Fixed the issue where newly added tool operators would disappear after editing the form #10013 (#10016)

### What problem does this PR solve?

Fix: Fixed the issue where newly added tool operators would disappear
after editing the form #10013

### Type of change

- [x] Bug Fix (non-breaking change which fixes an issue)
This commit is contained in:
balibabu
2025-09-10 15:55:59 +08:00
committed by GitHub
parent 127af4e45c
commit bbe6ed3b90
2 changed files with 9 additions and 10 deletions

View File

@ -57,13 +57,6 @@ const FormSchema = z.object({
// )
// .optional(),
message_history_window_size: z.coerce.number(),
tools: z
.array(
z.object({
component_name: z.string(),
}),
)
.optional(),
...LlmSettingSchema,
max_retries: z.coerce.number(),
delay_after_error: z.coerce.number().optional(),

View File

@ -1,15 +1,21 @@
import { useFetchModelId } from '@/hooks/logic-hooks';
import { RAGFlowNodeType } from '@/interfaces/database/flow';
import { get, isEmpty } from 'lodash';
import { get, isEmpty, omit } from 'lodash';
import { useMemo } from 'react';
import { initialAgentValues } from '../../constant';
// You need to exclude the mcp and tools fields that are not in the form,
// otherwise the form data update will reset the tools or mcp data to an array
function omitToolsAndMcp(values: Record<string, any>) {
return omit(values, ['mcp', 'tools']);
}
export function useValues(node?: RAGFlowNodeType) {
const llmId = useFetchModelId();
const defaultValues = useMemo(
() => ({
...initialAgentValues,
...omitToolsAndMcp(initialAgentValues),
llm_id: llmId,
prompts: '',
}),
@ -24,7 +30,7 @@ export function useValues(node?: RAGFlowNodeType) {
}
return {
...formData,
...omitToolsAndMcp(formData),
prompts: get(formData, 'prompts.0.content', ''),
};
}, [defaultValues, node?.data?.form]);