Feat: Allow operators inside the loop operator to reference the output parameters of external operators #3221 (#8498)

### What problem does this PR solve?

Feat: Allow operators inside the loop operator to reference the output
parameters of external operators #3221

### Type of change


- [x] New Feature (non-breaking change which adds functionality)
This commit is contained in:
balibabu
2025-06-26 09:34:38 +08:00
committed by GitHub
parent c4bfd9fa2c
commit f09ca8e795
6 changed files with 50 additions and 27 deletions

View File

@ -139,13 +139,14 @@ export function useBuildBeginVariableOptions() {
return options;
}
export const useBuildVariableOptions = (nodeId?: string) => {
export const useBuildVariableOptions = (nodeId?: string, parentId?: string) => {
const nodeOutputOptions = useBuildNodeOutputOptions(nodeId);
const parentNodeOutputOptions = useBuildNodeOutputOptions(parentId);
const beginOptions = useBuildBeginVariableOptions();
const options = useMemo(() => {
return [...beginOptions, ...nodeOutputOptions];
}, [beginOptions, nodeOutputOptions]);
return [...beginOptions, ...nodeOutputOptions, ...parentNodeOutputOptions];
}, [beginOptions, nodeOutputOptions, parentNodeOutputOptions]);
return options;
};
@ -153,7 +154,7 @@ export const useBuildVariableOptions = (nodeId?: string) => {
export function useBuildQueryVariableOptions() {
const { data } = useFetchAgent();
const node = useContext(AgentFormContext);
const options = useBuildVariableOptions(node?.id);
const options = useBuildVariableOptions(node?.id, node?.parentId);
const nextOptions = useMemo(() => {
const globals = data?.dsl?.globals ?? {};