Fix/variable resolution to support arrays of config objects #5348
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem
The
resolveVariablesfunction inbuildAgentflow.tswas not properly resolving variables in array-based configuration objects. When processing parameters likeagentTools(which is an array), only the first item's config object was being processed, leaving subsequent array items with unresolved variables.Root Cause
findParamValuefunction only returned the first match found in arraysprocessConfigParamsfunction didn't handle arrays of config objectsSolution
processConfigParams: Added array handling to recursively process each item in config arraysfindAllConfigValues: New function to find ALL config objects in arrays instead of just the first oneChanges Made
processConfigParamsto handle arrays of config objectsfindAllConfigValueshelper function for comprehensive array traversalTesting
agentToolsarray containing multiplerequestsGettools{{ $flow.state.test }}are now resolved in all array itemsExample
Before: Only first tool's
requestsGetUrlhad variables resolvedAfter: All tools' configs have variables resolved
Impact